Spark RDD 宽窄依赖
RDD 宽窄依赖
-
RDD之间有一系列的依赖关系, 可分为窄依赖和宽依赖
- 窄依赖
- 从 RDD 的 parition 角度来看
- 父 RRD 的 parition 和 子 RDD 的 parition 之间的关系是一对一的 (或 者是多对一的)。
- 不会有 shuffle 产生
- 宽依赖
- 父 RRD 的 parition 和 子 RDD 的 parition 之间的关系是一对多的
- 会产生shuffle
- 窄依赖
-
理解图
-
对stage(阶段)划分的影响
-
DAGSchedular 根据依赖类型切割RDD划分stage, 如果是宽依赖, 就进行切割, 并且递归查找其所有父类RDD
-
示意图:
-