Spark 宽依赖和窄依赖

一个 Spark 应用至少由一个 Job 组成,一个 Job 至少由一个 Stage 组成,一个 Stage 又由多个 Task 组成

RDD 操作分为两类:

而区分 Job 的不同 Stage 却没有那么明显,这里就需要提到 RDD 的宽依赖(Wide Dependencies)窄依赖(Narrow Dependencies)

宽依赖可以理解为子 Partition 有多个父 Partition

窄依赖可以理解为子 Partition 只有一个父 Partition

宽依赖是划分不同 Stage 的依据,如下图所示: