Redis命令1.Redis数据结构介绍Redis是一个key-value的数据库,key一般是String类型,value的类型多种多样,value常见的八种类型:Redis支持五种基本的数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset,有序集合)。各个数据类型应用场景:类型简介特性场景String(字符串)二进制安全可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M---Hash(字典)键值对集合,即编程语言中的Map类型适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Me
DOMDOM是JS操作网页的接口,全称为“文档对象模型”(DocumentObjectModel)。它的作用是将网页转为一个JS对象,从而可以用脚本进行各种操作(比如增删内容)。•文档–文档表示的就是整个的HTML网页文档•对象–对象表示将网页中的每一个部分都转换为了一个对象。•模型–使用模型来表示对象之间的关系,这样方便我们获取对象文档对象模型(DOM)是网页的编程接口。它给文档(结构树)提供了一个结构化的表述并且定义了一种方式——程序可以对结构树进行访问,以改变文档的结构,样式和内容。DOM提供了一种表述形式将文档作为一个结构化的节点组以及包含属性和方法的对象。从本质上说,它将web页面和
力扣题目:#62.不同路径刷题时长:参考题解后10min解题方法:动规复杂度分析时间O(m*n)空间O(m*n)问题总结初始化二维数组的python语法:i对应m,j对应n二维遍历顺序,从上到下从左到右通过两层for循环实现,其中startindex应为1本题收获动规思路确定dp数组及下标的含义:dp[i][j]表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径确定递推公式:dp[i][j]=dp[i-1][j]+ dp[i][j-1]dp数组的初始化:题目说只能往下或往右走,所以dp[i][0]都是1,因为从(0,0)的位置到(i,0)的路径只有一条。dp[0][j]同理都初始
day14 14414594144.二叉树的前序遍历递归法#Definitionforabinarytreenode.classTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightclassSolution:defpreorderTraversal(self,root:TreeNode)->List[int]:ifnotroot:#2终止条件return[]#3单层递归逻辑中左右left=self.preorderTraversal(root.left)r
虽然以前写过一次链表,但是真的已经忘得一干二净了链表理论基础链表:通过指针串联在一起的线性结构,每个节点都由数据域和指针域组成。指针域:存放下一个节点的指针,最后一个节点的指针域指向null,也即空指针head:链表的入口节点,也即链表的头节点链表的类型单链表以上所讲的最简单的链表为单链表(指针域指针只能指向下一个节点)双链表每个节点有两个指针域,一个指向下一个节点,一个指向上一个节点可以向前、向后查询(头结点处向前查询的指针为空指针)循环链表相当于单链表列表首尾相连,也即单链表最后一个指针指向head可以用于解决约瑟夫环问题(这是什么问题?)链表的存储方式数组在内存中连续分布,而链表不是连续
一、apachespark简介 ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行框架,Spark,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。二、漏洞简介ApacheSparkUI可以设置选项spark.acls.enable启用ACL,使用身份验证过滤器。用以检
一、二分查找(力扣原题704)ps:其实这道题用python写,不用二分查找也能做,主要是为了理解二分查找的原理。1、二分查找,左闭右闭,代码如下'''二分查找,左闭右闭区间'''nums=input().strip().split()#输入一个字符串target=input()#输入要查找的目标值defgettarget(nums,target):#定义函数left,right=0,len(nums)-1#初始化左右指针,左闭右闭区间whilelefttarget:right=middle-1#因为是右闭区间,当满足判断条件时,已经确定nums[middle]不应该在新的区间中else:re
什么是小文件?小文件指的是文件size比HDFS的blocksize小很多的文件。Hadoop适合处理少量的大文件,而不是大量的小文件。hadoop小文件常规的处理方式1、小文件导致的问题首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有10000000个小文件,每个文件占用一个block,则namenode大约需要2G空间。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如果访问大量小文件,需
PySpark启动以Local,yarn,standalone,mesos2、控制日志级别,有效的日志级别包括:ALL,DEBUG,ERROR,FATAL,INFO,OFF,TRACE,WARN控制日志输出内容的方式有两种log4j.rootCategory=INFO,console和frompysparkimportSparkContext sc=SparkContext(“local”,”FirstApp”)sc.setLogLevel(“WARN”)3、RDD是什么弹性分布式数据集,RDD是只读的、分区记录的集合,RDD只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来
问题背景作业流程是从hive读取数据处理后写入es,一直跑的很正常,突然今天发现部分数据重复了问题排查由于是长期正常运行的作业未发生变更,且排查了上游hive表不存在数据重复问题,首先排除了数据和逻辑问题spark作业是运行成功的,不存在作业失败重试的问题推测是spark作业内部存在失败重试的问题,于是查看了sparkhistoryjob的timeline看到下面这个图表,可以确认是由于11、13节点在写入部分数据后失败了,yarn启动了21、22重新执行导致11、13写入的数据又写了一次问题原因导致问题出现的原因有两个,一个是spark2本身shuffle不稳定,且作业运行在任务高峰时段,集