您的位置:首页 > 其它

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

2016-10-16 20:37 393 查看
这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 的主要区别 ,但不是全部 ,梳理中,,,,,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐