Spark的 DAGschedule & task schedule 区别以及相互联系

本文深入解析Spark中的两种关键调度机制——DAGScheduler与TaskScheduler。阐述二者如何协作以实现高效的任务调度,包括它们的工作原理、职责划分及相互之间的交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这2个概念很容易混淆,需要写一遍文章梳理

spark的 DAGschedule & task schedule 区别以及相互联系


在我们的应用程序的mian 方法中我们定义了sparkcontext ,sparcontext 会帮我们生成这两个调度器 DAGschedule(高级调度器) & task schedule(低级调度器)


DagScheduler:DagScheduler是一个高级的scheduler 层,他实现了基于stage的调度,他为每一个job都计算stage,跟踪哪一个rdd和stage的输出被物化(固化),以及寻找到执行job的最小的调度,然后他会将stage作为tasksets提交给底层的TaskScheduler,由TaskScheduler执行。
 
TaskScheduler:每一个taskScheduler只为一个单独的SparkContext进行调度安排tasks,DAGScheduler会为每一个stage向TaskScheduler提交Tasksets(也就是说TaskSets是在DAGScheduler完成组装),TaskScheduler会负责向cluster发送tasks,并且调用backend来运行task。并且在tasks失败的时候,重试,然后会将运行task,重试task的事件返回给DAGScheduler。


以上内容是这两个schedule 的主要区别 ,但不是全部 ,梳理中,,,,,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值