RDD的依赖关系

RDD的依赖关系

窄依赖

每个父RDD的一个Partition最多被子RDD的一个Partition所使用,例如map,filter,union等都会产生窄依赖;

宽依赖

一个父RDD的Partition会被多个子RDD的Partition所使用,例如groupByKey,reduceByKey,sortByKey等操作都会产生宽依赖。


总结:

如果父RDD的一个Partition被一个子RDD的Partition所使用就是窄依赖,否则就是宽依赖。

特别说明:

对join操作有两种情况,如果join操作的使用每个partition仅仅和已知的Partition进行join,这种join操作就是窄依赖;其他情况的join就是宽依赖。因为是确定的Partition数量的依赖关系,所以就是窄依赖,得出一个推论,窄依赖不仅包含一对一的窄依赖,还包含一对固定个数的窄依赖(也就是说父RDD的依赖的Partition的数量不会随着RDD数据规模的改变而改变)

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