Spark 任务调度

Spark 任务调度拆解

梳理

Spark 的任务调度流程可以概括为下图:

P8htZL.png

即在提交作业之后进行如下操作:

  1. 通过给定的行动算子来进行任务(Job)划分
  2. 通过 Shuffle 操作来划分阶段(Stage)
  3. 通过每个阶段中最后一个 RDD 的分区数来确定任务(Task)的数量
  4. 根据给定的任务调度器(TaskScheduler)来决定任务的调度方式,对任务进行排序
  5. 根据指定的本地化级别将任务分发到 Worker 上

参考资料

spark-dagscheduler

Spark job submission breakdown

spark源码-任务提交流程之-7-流程梳理总结


Spark 任务调度
https://wangqian0306.github.io/2022/spark-task/
作者
WangQian
发布于
2022年9月1日
许可协议