自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 HIve启动:Illegal to have multiple roots (start tag in epilog?).

Illegal to have multiple roots (start tag in epilog?). at [row,col,system-id]: [75,2,"file:/opt/modules/hive/conf/hive-site.xml"]

2022-06-28 16:52:06 2943 1

原创 AVL树的Java实现

AVL树的java实现

2022-05-03 21:06:53 1293

原创 Kafka的Ack应答&&数据重复解决(幂等性原理及事务处理)

笔记

2022-04-12 10:55:37 2032

原创 JVM垃圾回收机制

JVM垃圾回收机制总结

2022-03-19 12:08:34 836

原创 八大算法思想———分治算法

各个击破的分治思想定义:采用各个击破的方法,将一个规模为N的问题分解为K个规模较小的子问题要求:每个小问题相互独立且与原问题性质相同步骤:1,分解,将要解决的问题划分为若干个规模较小的同类的问题2,求解,将子问题进行用较简单的方法进行求解3,合并,按照原问题要求,价格子问题解逐层合并实战演练public class TheCalanderOfGame { //分治思想 //假设有8个队伍比赛,每个队伍每天只比一次,且每个队都要和其他队伍比赛一次,比赛n-1天

2022-01-15 12:38:24 289

转载 八大算法思想三——递归思想

充分利用自己的递归思想递归算法是在函数或子过程的内部,直接或间接的调用自己的算法使用时,要注意以下:1,明确终止条件,跳出递归的条件2,程序相对简单,但运行效率不高,容易造成栈溢出,一般不提倡典型例题:汉洛塔问题:汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上

2021-10-29 20:52:52 96

原创 八大算法思想二——递推法

聪明一点的递推法递推法:犹如稳重的老将,使用的就是“稳扎稳打”的策略,不断利用现有的信息推导出新的东西,在日常使用中有两种方法:1,顺推法:从已知的条件出发,逐步推导得到解决问题的方法,例如斐波那契数列2,逆推法:从已知的结果出发,用迭代的表达式逐步推出问题的开始条件以下为两个典型的例子:用java编写public class recurre {// 顺推法// 斐波那契数列// 兔子繁殖问题// 兔子只有在两周后才有繁殖能力public void rabbi

2021-10-29 09:24:50 476

原创 八大算法思想----枚举法

最‘笨’的枚举法故名思意,就是把解情况都列出来,看哪种情况有解符合条件,是最常用最容易想到的一种,但运行时间长,运算量大使用要重点注意三点:1,范围,一定要把符合的情况的全部列出来2,终止条件,即符合解情况的条件例子:一,百元买百鸡:# 枚举法一定要注意两点:变量范围,终止条件def onehunredAndChick():# // 百元买百鸡# // 公鸡5元,母鸡3元,小鸡3只一元# // 枚举法求解 chicld=0 for man in ran

2021-10-27 14:17:00 223

原创 Python正则表达式与简易爬虫

python正则定义:作用:splite函数sub函数&&subn函数sub(pattern, repl, string, count=0, flags=0)subn(pattern, repl, string, count=0, flags=0)简易爬虫定义:正则就是处理字符串的强大工具,它有自己独特的语法以及一个独立的处理引擎作用:主要无非就两种功能:验证,查询验证:就是比如身份证号,手机号等可用正则来验证固定的某种格式查找:在文章中查询有没有符合特定格式的数据():分组,

2021-10-23 19:02:29 89

原创 SparkSql(2)

7.分区,分桶,排序分区是按某个字段以目录级别划分分桶是按某个字段以文件级别划分排序是按照某个字段在文件内部(每个桶)有序注意:如果使用分桶和排序,必须使用持久化表如果数据的数量较小,有的达不到设置的分桶数def bps(spark:SparkSession)={ import spark.implicits._ val bpsDF=spark.read.load("D://work/path") bpsDF.write .partition

2021-09-22 21:26:37 305

原创 Spark共享变量&&广播变量&&累加器

共享变量每个算子内的函数是在每个远程集群节点执行的,这个函数里的变量都必须做task级别的复制而且某个节点更新数据不会回传给Driver,互相隔离这种通用的可读可写的变量性能很低广播变量在每个节点只复制一份数据,数据必须是只读的。spark本身提供了高效的广播算法支持广播数据在跨多个stage且使用相同数据的情况下使用广播变量val a = sc.broadcast(v)广播v这个变量a在算子的参数的函数里只能使用 a.value 读取值不允许也没提供许广播变量进行修改累加器只允许

2021-09-16 18:25:45 98

原创 SparkSQL(1)

sparkSQLspark中处理结构化数据的组件计算过程是DataSet和DataFrame之间的转换DS/DF可以创建出来,也可以由其他DS/DF转换而来DS:数据的集合DF:在DS基础上条件了 schema使用1.创建一个SparkSession val spark:SparkSession = SparkSession.builder() .master() .appName() .getOr

2021-09-16 14:33:11 185

原创 Spark执行原理

窄依赖(narrow dependency)父级RDD里的每个partition都对应子级RDD里的唯一一个partition的依赖关系宽依赖(shuffle dependency)父级RDD里的每个partition都对应子级RDD里的多个partition的依赖关系宽依赖一定执行shuffle操作,必执行磁盘IO操作DAG任务切割a.通过action算子提交一个job任务,对其进行切分b.当前job直接作为finalStage:ResultStagec.从最后一个RDD向父级依次查找依赖

2021-09-07 23:32:42 80

原创 RDD持久化处理

持久化在数据库中,把数据写入表里的过程。在spark中,把内存中的RDD临时永久存储起来的过程容错机制如果数据在内存中丢失,向父级依赖查找数据,直到找到数据为止,最坏的情况是找到hdfs重新获取数据重新计算,自动把结果补到原来持久化的位置。两种方式会使用持久化操作:1,数据量大,数据复杂2,同一个rdd多次提交,即一个rdd复用用法:创建持久化:就是转换算子,直接调用就可以cache() 完全等价于 persist(),使用默认策略持久化如果想改变策略,使用persist(策略)指定

2021-09-07 21:37:40 214

原创 Rdd分区策略

并行度1.textFile 可以读单个文件,也可以读一个目录下的所有文件。 把所有文件的内容当做一个文件的形式处理 如果指定并行度,直接使用。 如果没有指定并行度,走默认最小分区数 最小分区数=Math.min(默认并行度,2) 默认并行度 a.如果设置了spark.default.parallelism直接读取 b.如果没有设置 1)本地 当前节点CPU总核心数 2)独立 没有 3)分布式 当前集群中所有节点的CPU核心数总和

2021-09-03 18:34:46 65

原创 Spark中的RDD&&算子

RDD:弹性的分布式的数据集弹性:在一定范围内进行变化不影响整体的情况分布式:RDD本身没有分布式概念,里面的数据是分布式存储的数据集:数据的集合rdd是spark计算的核心,也是计算的瞬时结果。特点:a.rdd是一个抽象的概念,partition是具体的概念b.rdd里的数据是不可变的c.每个rdd经过一个函数的转换把结果赋给下一个rddd.rdd可以并行计算五大特性a.一组分区的集合b.一个函数作用于所有的切片 函数是算子里作为参数的那个函数c.每个rdd依赖于其他的r

2021-09-02 16:07:55 112

原创 spark的介绍&&环境的搭建

spark的介绍&&环境的搭建离线分析:把一段时间的数据经过收集,整理,分析,得出一定的结论这个结论可以帮助人们做一定的决策。与时效性无关处理数据的方式:批处理实时分析:必须有时效性,数据实时产生,实时处理。处理数据的方式:流处理spark对于大规模数据处理的一个快如闪电的统一的分析引擎(计算框架)作者: 美国加州大学伯克利分校AMP(A:算法,M:机器,P:人)实验室目的: 通过对算法,机器和人的大规模整合来展现大数据的应用特点: 1.速度

2021-09-01 15:16:12 76

原创 scala的面向对象

scala的面向对象面向对象定义:是一种编程范式,是相对于面向过程来说的,将数据和方法当成整体来看待 的一种思想,比如:把大象关进冰箱,面向过程来说,就是分为三步,把冰箱打开,把大象放进冰箱,关上冰箱门;而相对于面向对象来说,就可以将冰箱当成一个对象,这个对象可以有开门,放东西,关门等功能,以及属性那:长,宽,高等这些的都可以封装在冰箱这个对象里,这就是面向对象编程类:具有相同属性和方法的事务(具有相同属性,相同方法的一类对象集合)对象:类的一个具体的实现class一个普通类定义类cl

2021-08-31 19:55:28 143

原创 Hbase过滤器

Hbase过滤器Hbase过滤器1,定义2,比较规则(符号)3,比较器4,过滤器Hbase过滤器1,定义 过滤器就是对数据处理,过滤掉一些没用或者不需要的数据,在MySql中就相当于 where xxx>xxx的作用 要使用这个就得先确定三个条件: 1,比较的规则,是大于还是小于,还是等于 2,比较的内容是什么,和比较的形式,比如:字符串,整数,当然hbase就是字节数组。 3,按照什么比较,比如rowkey,familycolumn等 hbase中没有大于

2021-08-23 15:54:35 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除