spark任务提交流程

这个是我在网上搬的:

原博客地址为:https://blog.csdn.net/xwc35047/article/details/78732738

上图是client以spark-submit形式提交作业后,从作业DAG划分、stage提交、taskSet提交,到task执行过程。步骤图上已经画出来,这里描述一下。

client submit作业,通过反射invoke执行用户代码main函数。
submit作业后,开始启动CoarseGrainedExecutorBackend和初始化SparkContext。
SparkContext初始化包括初始化监控页面SparkUI、执行环境SparkEnv、安全管理器SecurityManager、stage划分及调度器DAGScheduler、task作业调度器TaskSchedulerImpl和与Executor通信的调度端CoarseGrainedSchedulerBackend。
DAGScheduler将作业划分后,依次提交stage对应的taskSet给TaskSchedulerImpl。
TaskSchedulerImpl会submit taskset给driver端的CoarseGrainedSchedulerBackend后端。
CoarseGrainedSchedulerBackend会一个一个的LaunchTask
在远端的CoarseGrainedExecutorBackend接收到task提交event后,会调用Executor执行task
最终task是由TaskRunner的run方法内运行。
---------------------
作者:xwc35047
来源:CSDN
原文:https://blog.csdn.net/xwc35047/article/details/78732738
版权声明:本文为博主原创文章,转载请附上博文链接!

----------------------------------------------------

非常清晰明了。

 

以及这个比较草的

 

posted @ 2018-11-05 20:20  董秀才  阅读(2059)  评论(0编辑  收藏  举报