接DAGScheduler源码分析stage划分算法,task最佳位置计算算法taskScheduler的submitTask()方法
在TaskScheduler类中
①在SparkContext源码分析中,会创建TaskScheduler的时候,会创建一个SparkDeploySchedulerBackend,这里的backend就是之前创建好了的SparkDeploySchedulerBackend,而且这个backend是负责创建AppClient,向Master注册Application的
通过这会去调用自己的makeOffers()方法
进入resourceOffers()方法
②在SparkContext源码分析中,在TaskScheduler初始化的时候会创建一个调度池,也就是,所提交的TaskSet,首先会放入到这个调度池,然后在执行task分配双方的时候,会从这个调度池中取出排好队的TaskSet
进入resourceOfferSingleTaskSet()方法
最后进入launchTasks方法,启动task