意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

spark任务调度系统如何理解

来源:恒创科技 编辑:恒创科技编辑部
2024-02-01 11:58:59

这篇文章的内容主要围绕spark任务调度系统如何理解进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

spark的任务调度系统如下所示:


spark任务调度系统如何理解

从上图中可以看出来由RDD Objects产生DAG,然后进入了DAGScheduler阶段,DAGScheduler是面向state的高层次的调度器,DAGScheduler把DAG拆分成很多的tasks,每组的tasks都是一个state,每当遇到shuffle就会产生新的state,可以看出上图一共有三个state;DAGScheduler需要记录那些RDD被存入磁盘等物化动作,同时需寻找task的最优化调度,例如数据本地性等;DAGScheduler还要监视因为shuffle输出导致的失败,如果发生这种失败,可能就需要重新提交该state:


可以看出TaskScheduler是一个trait,在目前spark系统中TaskScheduler的实现类只有一个TaskSchedulerImpl:



看一下TaskSet的源码:


从TaskSet源码的第一个参数tasks就可以看出其是一个Task的数组,包含一组Task。

感谢你的阅读,相信你对“spark任务调度系统如何理解”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注恒创网站!小编会继续为大家带来更好的文章!

上一篇: 如何分析Impala 下一篇: 手机怎么远程登录云服务器?