Spark 任务调度介绍

Spark任务调度

在Spark的任务中,由Driver进行调度,这个工作包含:逻辑DAG产生、分区DAG产生、Task划分、将Task分配给Executor并监控其工作

在这里插入图片描述

  1. Driver被构建出来
  2. 构建执行环境入口对象SparkContext
  3. 基于DAG调度器(DAG Scheduler)构建逻辑Task分配
  4. 基于Task调度器(Task Scheduler)将逻辑Task分配到各个Executor上干活,并监控它们
  5. Worder(Executor)被Task Scheduler管理监控,听从它们的指令干活,并定期汇报进度

其中1,2,3,4都是Driver的工作,5是Worker的工作

Driver内的两个组件

DAG调度器:将逻辑的DAG图进行处理,最终得到逻辑上的Task划分
Task调度器:基于DAG Scheduler的产生,来规划这些逻辑的Task,应该在哪些物理的Executor上运行,以及监控管理它们的运行。

Spark中任务运行的层级关系梳理

  1. 一个Spark环境可以运行多个Application
  2. 一个代码运行起来,会成为一个Application
  3. Application内部可以有多个Job
  4. 每个Job由一个Action产生,并且每个Job有自己的DAG执行图
  5. 一个Job的DAG图,会基于宽窄依赖划分不同的阶段
  6. 不同阶段内基于分区数量,形成多个并行的内存迭代管道
  7. 每一个内存迭代管道形成一个Task(DAG调度器划分将Job内划分出具体的task任务,一个Job被划分出来的task在逻辑上称之为这个Job的taskset)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值