摘要: 一、Spark中的Shuffle过程 Shuffle分为两种:Shuffle write、Shuffle read Spark中Shuffle分为两种:HahShuffle、SortShuffle; 1、HashShuffle 磁盘小文件的个数为:M*R = 4*3 =12个 每一个buffer的大 阅读全文
posted @ 2019-05-02 15:27 Angel_jing 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 对于Executor中执行的BlockManager总结如下: 1、一个Executor中一个BlockManager 2、一个worker中可以有多个Executor 3、对于driver端拥有的是BlockManagerMaster。 在task执行过程中,读取广播变量的时候,第一次读取广播变量 阅读全文
posted @ 2019-05-02 14:45 Angel_jing 阅读(490) 评论(0) 推荐(0) 编辑
摘要: spark累计器 因为task的执行是在多个Executor中执行,所以会出现计算总量的时候,每个Executor只会计算部分数据,不能全局计算。 累计器是可以实现在全局中进行累加计数。 注意: 累加器只能在driver端定义,driver端读取,不能在Executor端读取。 广播变量只能在dri 阅读全文
posted @ 2019-04-30 15:21 Angel_jing 阅读(2162) 评论(0) 推荐(0) 编辑
摘要: 在spark的资源调度中 1、集群启动worker向master汇报资源情况 2、Client向集群提交app,向master注册一个driver(需要多少core、memery),启动一个driver 3、Driver将当前app注册给master,(当前app需要多少资源),并请求启动对应的Ex 阅读全文
posted @ 2019-04-30 11:39 Angel_jing 阅读(719) 评论(0) 推荐(0) 编辑
摘要: Spark广播变量 使用广播变量来优化,广播变量的原理是: 在每一个Executor中保存一份全局变量,task在执行的时候需要使用和这一份变量就可以,极大的减少了Executor的内存开销。 Executor中task在执行的时候如果使用到了广播变量,会找Executor里面的BlockManag 阅读全文
posted @ 2019-04-30 11:11 Angel_jing 阅读(6832) 评论(0) 推荐(1) 编辑
摘要: spark持久化:cache 、persist、checkpoint 一、cache持久化 cache实际上是persist的一种简化方式,是一种懒执行的,执行action类算子才会触发,cahce后返回值要赋值给一个变量,下一个job直接基于变量进行操作。 cache操作: 结果输出: 二、spa 阅读全文
posted @ 2019-04-29 15:01 Angel_jing 阅读(1450) 评论(0) 推荐(0) 编辑
摘要: wordcount实现过程: 1、首先读取文件sc.textfile("path"),可以是本地文件,也可以是hdfs上的文件 2、首先进行扁平化操作,利用flatmap,将数据挤压出来 hello,dwj1 hello hello,dwj2 > dwj1 hello,dwj3 hello dwj2 阅读全文
posted @ 2019-04-29 11:37 Angel_jing 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、日志分析系统 1、特点 (1)数据源多样化 (2)流式数据(广告点击数据) (3)高并发 (4)数据量大 (5)近实时分析与离线处理 2、要求 (1)支持对种源数据(网页、mysql、Hive、Hbase等) (2)保证数据不丢失(少量丢失) (3)数据集中存储 (4)近实时分析和离线分析 3、 阅读全文
posted @ 2019-03-06 11:23 Angel_jing 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1、首先从apache kafka网站下载自己需要的kafka版本 此处我们下载的是2.11版本 http://kafka.apache.org/downloads 并放到了/opt/workspace/目录下。 2、在服务器上将kafka压缩包解压缩 3、进入kafka文件,修改config文件夹 阅读全文
posted @ 2019-03-05 17:16 Angel_jing 阅读(1396) 评论(0) 推荐(0) 编辑
摘要: 1、方法1:分别将两张表中的数据加载为DataFrame 2、方法2:分别将mysql中两张表的数据加载为DataFrame 3、问题: 在程序运行过程报错 (1) 解决: 在idea中加入jar包 (2)运行报错 解决:添加信息。 4、成功运行 附:程序源码: 阅读全文
posted @ 2019-03-04 14:46 Angel_jing 阅读(6894) 评论(1) 推荐(0) 编辑