首页 > 代码库 > Spark shuffle 机制

Spark shuffle 机制

从 RDD间的依赖关系说起,依赖分为宽依赖和窄依赖。

所谓窄依赖就是说子RDD中的每个分区(partition)只依赖于父RDD中固定的partition。在API中解释如下:

  技术分享

而宽依赖指的是子RDD的每一个partition都依赖于父 RDD中的所有partition(未必所有父RDD中的partition都提供数据,但是依赖关系一定)。API 定义如下:

class ShuffleDependency[K: ClassTag, V: ClassTag, C: ClassTag]

 

Spark shuffle 机制