spark 任务详解

本文详细介绍了Spark任务从提交到执行的整个过程,包括将程序打包、使用spark-submit提交、SparkContext初始化、DAGScheduler和TaskScheduler的角色、Executor的创建与注册,以及任务的调度和执行等关键步骤。
摘要由CSDN通过智能技术生成

以下是我对spark任务提交的理解

1、将我们编写的程序打成jar包

2、调用spark-submit脚本提交任务到集群上运行

3、运行sparkSubmit的main方法,在这个方法中通过反射的方式创建我们编写的主类的实例对象,然后调用main方法,开始执行我们的代码(注意,我们的spark程序中的driver就运行在sparkSubmit进程中)

4、当代码运行到创建SparkContext对象时,那就开始初始化SparkContext对象了

5、在初始化SparkContext对象的时候,会创建两个特别重要的对象,分别是:DAGScheduler和TaskScheduler
【DAGScheduler的作用】将RDD的依赖切分成一个一个的stage,然后将stage作为taskSet提交给DriverActor

6、在构建taskScheduler的同时,会创建两个非常重要的对象,分别是DriverActor和ClientActor
【clientActor的作用】向master注册用户提交的任务

【DriverActor的作用】接受executor的反向注册,将任务提交给executor

7、当clientActor启动后,会将用户提交的任务和相关的参数封装到ApplicationDescription对象中,然后提交给master进行任务的注册

8、当master接受到clientActor提交的任务请求时,会将请求参数进行解析,并封装成Application,然后将其持久化,然后将其加入到任务队列waitingApps中

9、当轮到我们提交的任务运行时,就开始调用schedule(),进行任务资源的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值