


宽依赖:有shuffle
父RDD的一个分区会被子RDD的多个分区所依赖

窄依赖:没有shuffle
父RDD的一个分区只会被子RDD的1个分区所依赖

总结:
窄依赖:并行化+容错
宽依赖:进行阶段划分(shuffle后的阶段需要等待shuffle才能执行.


Spark的DAG:就是spark任务/程序执行的流程图!
DAG的开始:从创建RDD开始
DAG的结束:到Action结束
一个Spark程序中由有几个Ation操作就有几个DAG

Stage:是DAG中根据shuffle划分出来的阶段!
前面的阶段执行完才可以执行后面的阶段.
同一个阶段中的各个任务可以并行执行无需等待!





