宽依赖
全英文名shuffle Dependency。本质如其名,本质就是shuffle。也就是说,每个父RDD 的partition中的数据,都有可能会传输一部分,到下一个RDD的每个partition中。此时就会出现,父RDD和子RDD的partition之间,具有交互错综复杂的关系。那么,这种情况,就叫做两个RDD之间是宽依赖。同时他们之间的操作叫做Shuffle.例如 wordcount案例中 的 reduceByKey(_ + _)算子
窄依赖
全英文名Narrow Dependency。当一个RDD,对于父RDD只有简单的一对一的依赖关系。也就是说,RDD的每个partition,仅仅依赖父RDD中的一个partition。父RDD和子RDD的partition之间的对应关系是一对一的。这种情况,就是简单的RDD之间依赖,就叫做窄依赖。比如 wordcount案例中的
map(word => (word , 1))操作。