Spark任务中的宽窄依赖及每个Spark任务的stages划分
宽依赖:依赖的RDD产生的数据不只是给我用的。父RDD不只包含一个子RDD的数据(多对多),非独生子女;
窄依赖:依赖的RDD产生的数据只给我自己。父RDD只包含一个子RDD的数据(一对一、一对多),独生子女 。
Lineage(血统):RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列 Lineage(即血统)记录下来,以便恢复丢失的分区。 RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。