Spark 2.x管理与开发-Spark Core-Spark的算子(四)RDD的特性(3)RDD的依赖关系和Spark任务中的Stage
Posted on 2020-07-12 10:43 MissRong 阅读(91) 评论(0) 收藏 举报Spark 2.x管理与开发-Spark的算子(四)RDD的特性(3)RDD的依赖关系和Spark任务中的Stage
一、RDD的依赖关系
RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。

- 窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用
总结:窄依赖我们形象的比喻为独生子女
- 宽依赖指的是多个子RDD的Partition会依赖同一个父RDD的Partition
总结:窄依赖我们形象的比喻为超生
二、Spark任务中的Stage
DAG(Directed Acyclic Graph)叫做有向无环图,原始的RDD通过一系列的转换就就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage。
对于窄依赖,partition的转换处理在Stage中完成计算。
对于宽依赖,由于有Shuffle的存在,只能在parent RDD处理完成后,才能开始接下来的计算,因此宽依赖是划分Stage的依据。

浙公网安备 33010602011771号