SparkCore任务调度源码阅读_简述Spark任务的调度原理

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

SparkCore任务调度源码阅读:

Dependency


Spark将RDD之间的依赖分为窄依赖和宽依赖,源码中对应的定义分别为NarrowDependency和ShuffleDependency。 其中NarrowDependency又有两种OneToOneDependency和RangeDependency两种实现。

NarrowDependency

OneToOneDependency用于描述一个子RDD只依赖一个父RDD的情况。 RangeDependency用于描述一个子RDD依赖多个父RDD,但每个父RDD只被一个子RDD依赖的情况。

OneToOneDependency

实现如下:

@DeveloperApi

class OneToOneDependency[T](rdd: RDD[T]) extends NarrowDependency[T](rdd) {

  <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值