1. 程式人生 > >TaskScheduler原理與原始碼分析

TaskScheduler原理與原始碼分析

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