spark-宽依赖和窄依赖

一、窄依赖(Narrow Dependency,)

    即一个RDD,对它的父RDD,只有简单的一对一的依赖关系。也就是说, RDD的每个partition ,仅仅依赖于父RDD中的一个partition,父 RDD和子RDD的partition之间的对应关系,是一对一的!这种情况下,是简单的RDD之间的依赖关系,也被称之为窄依赖。

二、宽依赖(Shuffle Dependency)

    本质就是Shuffle,也就是说,每一个父RDD的partition中的数据,都可能会传输一部分到下一个RDD的每个partition中。此时就会出现,父RDD和子RDD的partition之间,具有交互综复杂的关系。那么,这种情况,就叫做两个RDD之间是宽依赖。同时,他们之间发生的,操作,是Shuffle,

spark-宽依赖和窄依赖