几张图 彻底 搞懂 窄依赖 和 宽依赖

几张图搞懂 RDD(Resilient Distributed Datasets) 窄依赖 和 宽依赖:

Dependency.scala 源码里类图关系如下:

OneToOneDependency[T] 和 RangeDependency[T] 对应的RDD 依赖关系如下:

 

其中RangeDependency[T] 只是在 UnionRDD里被使用

《Spark设计与实现》里列举了1->1 N->1 N->N 的债依赖,跟代码对不上了,代码里也没有“each partition of the parent RDD is used by at most one partition of the child RDD”注释。《Spark设计与实现》里截图如下:

结论:Spark 的窄依赖其实都是1->1的依赖关系,其它的都是宽依赖。


版权声明:本文为don_chiang709原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。