SparkCore任务调度源码阅读:
Dependency
Spark将RDD之间的依赖分为窄依赖和宽依赖,源码中对应的定义分别为NarrowDependency和ShuffleDependency。 其中NarrowDependency又有两种OneToOneDependency和RangeDependency两种实现。
NarrowDependency
OneToOneDependency用于描述一个子RDD只依赖一个父RDD的情况。 RangeDependency用于描述一个子RDD依赖多个父RDD,但每个父RDD只被一个子RDD依赖的情况。
OneToOneDependency
实现如下:
|
|

本文深入探讨SparkCore任务调度,分析NarrowDependency(包括OneToOneDependency和RangeDependency)与ShuffleDependency的区别。接着,解释DAGScheduler如何生成Task(ShuffleMapTask和ResultTask),并提交TaskSet。最后,讨论TaskScheduler的角色,包括TaskSchedulerImpl的FIFO和FAIR调度策略以及任务提交和撤销的实现。
订阅专栏 解锁全文
56万+

被折叠的 条评论
为什么被折叠?



