RDD的依赖关系:宽依赖和窄依赖

RDD之间的依赖关系是指RDD之间的上下来源关系,RDD2依赖RDD1,RDD4依赖于RDD2和RDD3,RDD7依赖于RDD6和RDD4。


RDD的依赖关系:宽依赖和窄依赖_第1张图片
RDD的依赖关系

 shuffle的算子一般都会是宽依赖,比如groupByKey、reduceByKey、join等,宽依赖是一对多的关系,窄依赖是一对一关系

RDD的依赖关系:宽依赖和窄依赖_第2张图片
宽依赖、债依赖和stage的划分

假如stage1中的宽依赖计算过程报错,右边其中某个partition错误,马上会重新计算,把宽依赖的左边的partitions全部重新计算,重新得到右边的partition,所以在处理过程中,把某个宽依赖的数据cache到内存中,是常用方法。

每个partition的计算就是一个task,task是调度的基本单位,若一个stage中的包含了其他stage的任务全部完成,这个stage中的任务才会被加入调度。

你可能感兴趣的:(RDD的依赖关系:宽依赖和窄依赖)