Spark 任务调度
Spark 任务调度拆解
梳理
Spark 的任务调度流程可以概括为下图:
即在提交作业之后进行如下操作:
- 通过给定的行动算子来进行任务(Job)划分
- 通过 Shuffle 操作来划分阶段(Stage)
- 通过每个阶段中最后一个 RDD 的分区数来确定任务(Task)的数量
- 根据给定的任务调度器(TaskScheduler)来决定任务的调度方式,对任务进行排序
- 根据指定的本地化级别将任务分发到 Worker 上
参考资料
Spark 任务调度
https://wangqian0306.github.io/2022/spark-task/