接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

本文深入探讨了Spark中TaskScheduler的工作原理,包括DAGScheduler的stage划分算法、task最佳位置计算算法,以及TaskScheduler的submitTask()方法如何调度任务。文章详细分析了SparkContext源码,介绍了TaskSet的调度池概念,以及task分配过程。
1564

被折叠的 条评论
为什么被折叠?



