一、RDD血缘关系 RDD 只支持粗粒度转换,即在大量记录上执行的单个操作,在RDD上的每次操作会生成一个新的RDD。将创建 RDD 的一系列 Lineage(血统)记录下来,以便恢复丢失的分区。RDD 的 Lineage 会记录 RDD 的元数据信息和转换行为,当该 RDD 的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。
二、RDD 依赖关系 【spark|Spark中RDD的依赖关系】所谓的依赖关系,其实就是两个相邻 RDD 之间的关系。
三、RDD 的宽依赖与窄依赖 宽依赖表示同一个父(上游)RDD 的 Partition 被多个子(下游)RDD 的 Partition 依赖,会引起 Shuffle,总结:宽依赖可以比喻为多生,也就是一个RDD对应多个RDD。
窄依赖表示每一个父(上游)RDD 的 Partition 最多被子(下游)RDD 的一个 Partition 使用,窄依赖可以比喻为独生子女,也就是一个RDD对应一个RDD。
四、RDD 阶段划分 DAG(Directed Acyclic Graph)有向无环图是由点和线组成的拓扑图形,该图形具有方向,不会闭环。例如,DAG 记录了 RDD 的转换过程和任务的阶段。
推荐阅读
- Spark|spark rdd分区与任务的关系
- gis|Geoserver+Geomesa+HBase时空大数据环境搭建
- BigData|Hadoop深入浅出 ——三大组件HDFS、MapReduce、Yarn框架结构的深入解析式地详细学习【建议收藏!!!】
- 框架|Hadoop 深入浅出 ---- 入门 (1)
- 大数据项目|即席查询Kylin
- 大数据项目|大数据项目实战数仓4——总纲
- 大数据平台搭建|9、大数据框架HBase搭建
- 数据分析|教你用Excel做电商数据分析
- 项目|大数据实战之离线数仓整体规划