Spark为什么要设计宽窄依赖?

  其实在回答这个问题的时候,首先要明白什么是窄依赖和宽依赖。

Spark为什么要设计宽窄依赖?_第1张图片

窄依赖:

父RDD的一个分区只会被子RDD的一个分区依赖

对于窄依赖
       #1:Spark可以并行计算
       #2:如果有一个分区数据丢失,只需要从父RDD的对应1个分区重新计算即可,不需要重新计算整个任务,提高容错。


宽依赖:

父RDD的一个分区会被子RDD的多个分区依赖(涉及到shuffle)

对于宽依赖
      是划分Stage的依据

 

你可能感兴趣的:(Spark为什么要设计宽窄依赖?)