Spark 学习初期RDD分为两种: Transformation 转换算子, Action 动作算子Transformation: 在现有的数据集上创建一个新的数据集....是由哪些Parent RDD(s)转换而来, 以及它的parent RDD(s)有哪些partitions ,DAG可以认为RDD之间有了血缘关系(Lineage)根据依赖关系,将DAG划分为不同得Stage....对于窄依赖, 由于Partition依赖关系的确定性, Partition的转换处理就可以来同一个线程内完成,所以窄依赖被Spark划分到同一个Stage内执行;对于宽依赖,由于Shuffle的存在,...只能在partition RDD(s) Shuffle处理完成之后,才能开始接下来的计算,所以宽依赖就是Spark划分Stage的依据,(Spark根据宽依赖将DAG划分为不同的Stage)在一个Stage...内部,每个Partitition都会被分配一个Task, Task之间支并行执行的.Stage 之间根据依赖关系就变成了一个大力度的DAG,这个DAG的执行顺序也是从前向后的.Stage只有在它没有Parent