摘要: RDD任务切分中间分为:Application、Job、Stage和Task Application:初始化一个SparkContext即生成一个Application; Job:一个Action算子就会生成一个Job; Stage:Stage等于宽依赖(ShuffleDependency)的 阅读全文
posted @ 2022-01-08 13:28 爱吃麻辣烫呀 阅读(357) 评论(0) 推荐(0)
摘要: ![](https://img2020.cnblogs.com/blog/2673452/202201/2673452-20220108121627385-473783207.png) ![](https://img2020.cnblogs.com/blog/2673452/202201/2673452-20220108121644951-152623898.png) 阅读全文
posted @ 2022-01-08 12:17 爱吃麻辣烫呀 阅读(38) 评论(0) 推荐(0)
摘要: 这里所谓的依赖关系,其实就是两个相邻RDD之间的关系 1、窄依赖表示每一个父(上游)RDD的Partition最多被子(下游)RDD的一个Partition使用,窄依赖我们形象的比喻为独生子女。 2、宽依赖表示同一个父(上游)RDD的Partition被多个子(下游)RDD的Partition依赖, 阅读全文
posted @ 2022-01-08 11:49 爱吃麻辣烫呀 阅读(84) 评论(0) 推荐(0)
摘要: 1.RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。 阅读全文
posted @ 2022-01-08 11:31 爱吃麻辣烫呀 阅读(82) 评论(0) 推荐(0)
摘要: 1.从计算的角度, 算子以外的代码都是在Driver端执行, 算子里面的代码都是在Executor端执行。那么在scala的函数式编程中,就会导致算子内经常会用到算子外的数据,这样就形成了闭包的效果,如果使用的算子外的数据无法序列化,就意味着无法传值给Executor端执行,就会发生错误,所以需要在 阅读全文
posted @ 2022-01-06 19:20 爱吃麻辣烫呀 阅读(60) 评论(0) 推荐(0)
摘要: 11.识别函数式编程风格 1)倾向于使用val、不可变对象和没有副作用的方法,优先选择它们。不过当你有特定的需要和理由时,也不要拒绝var、可变对象和带有副作用的方法。 阅读全文
posted @ 2021-12-15 13:58 爱吃麻辣烫呀 阅读(60) 评论(0) 推荐(0)
摘要: 本文内容:Spark配置、RPC框架、事件总线、度量系统 一.Spark配置: 1)系统属性中的配置 2)使用SparkConf配置的API 3)克隆SparkConf配置 二.Spark内置的RPC框架 1)RPC配置TransportConf 2)RPC客户端工厂TransportClientF 阅读全文
posted @ 2021-12-14 22:13 爱吃麻辣烫呀 阅读(25) 评论(0) 推荐(0)
摘要: Spark学习 -本系列学习书籍《Spark内核设计的艺术:架构设计与实现》--耿嘉安 一.本文内容:概括性讲述Spark的设计理念和基本架构 二.Spark设计理念 1.Spark包含很多子模块,理解这些模块有助于我们掌握Spark的设计思想。Spark的模块按照重要程度可分为核心功能和扩展功能。 阅读全文
posted @ 2021-12-11 16:53 爱吃麻辣烫呀 阅读(189) 评论(0) 推荐(0)
摘要: 一.本文记录内容:使用Mac,对spark源码进行编译 二.前期准备:Java8、Scala2.12.11、Maven3.6.3安装配置完成;Spark3.0.0源码已下载 三.编译步骤: 1.修改源码中的./dev/make-distribution.sh 文件: 1)修改MVN="$MAVEN_ 阅读全文
posted @ 2021-12-11 15:56 爱吃麻辣烫呀 阅读(188) 评论(0) 推荐(0)