大体执行流程
1.driver执行main方法(懒执行),action算子触发触发job
2.根据宽窄依赖划分stage
3.每个stage会被整理成taskset(包含多个task)4.每个task分发到具体的Executor去执行
完整调度流程
1.当Driver启动的时候,初始化时会相应的创建DagScheduler、TaskScheduler
2.TaskScheduler初始化的时候,会创建SchedulerBacked(主要负责集群之间的通讯)
3.SchedulerBacked和ApplicationMaster进行通讯,SchedulerBacked会告诉ApplicationManager会启动多少个Executor
4.然后ApplicationManager会向ResourceManager申请资源
5.然后启动相应的Executor
6.Executor调用ExecutorBackend向Driver里面的ScheduleBackend注册,当所有的Executor都注册完之后