Spark作业提交执行流程源码图

环境:代码图基于Spark 2.2.1 工具:OmniGraffe最近想完整梳理一下作业提交流程,通过自己的理解画图来学习Spark。1) 首先了解作业提交后RDD的流动情况如上图,以RDD构建的DAG给DAGScheduler进行stage划分,DAGScheduler负责stage层面的提交和失败处理。然后提交taskSet给TaskScheduler进行处理,TaskScheduler
摘要由CSDN通过智能技术生成

环境:代码图基于Spark 2.2.1 工具:OmniGraffe

最近想完整梳理一下作业提交流程,通过自己的理解画图来学习Spark。

####1) 首先了解作业提交后RDD的流动情况

这里写图片描述

  • 如上图,以RDD构建的DAG给DAGScheduler进行stage划分,DAGScheduler负责stage层面的提交和失败处理。
  • 然后提交taskSet给TaskScheduler进行处理,TaskScheduler负责task层面的提交和失败处理,TaskScheduler提交task给远端的worker(即executor)实际执行。

上面流程中,在TaskScheduler提交task给executor之前,所有操作都是在driver端执行(如以yarn-client提交,则为提交作业所在机器),executor接受到task后执行task作业则是executor机器上执行。

####2) 更细粒度了解作业提交过程
这里写图片描述

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

  1. client submit作业,通过反射invoke执行用户代码main函数。
  2. sub
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值