1.2 Spark 通用运行流程概述
上图为 Spark 通用运行流程,不论 Spark 以何种模式进行部署,都是以如下核心步骤进行工作的:
任务提交后,都会先启动 Driver 程序;
随后 Driver 向集群管理器注册应用程序;
之后集群管理器根据此任务的配置文件分配 Executor 并启动该应用程序;
当 Driver 所需的资源全部满足后,Driver 开始执行
main
函数,Spark 转换为懒执行,当执行到 Action 算子时开始反向推算,根据宽依赖进行 Stage 的划分,随后每一个 Stage 对应一个 Taskset,Taskset 中有多个Task;根据本地化原则,Task 会被分发到指定的 Executor 去执行,在任务执行的过程中,Executor 也会不断与 Driver 进行通信,报告任务运行情况。