您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞spark任務調度系統如何理解進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
spark的任務調度系統如下所示:
從上圖中可以看出來由RDD Objects產生DAG,然后進入了DAGScheduler階段,DAGScheduler是面向state的高層次的調度器,DAGScheduler把DAG拆分成很多的tasks,每組的tasks都是一個state,每當遇到shuffle就會產生新的state,可以看出上圖一共有三個state;DAGScheduler需要記錄那些RDD被存入磁盤等物化動作,同時需尋找task的最優化調度,例如數據本地性等;DAGScheduler還要監視因為shuffle輸出導致的失敗,如果發生這種失敗,可能就需要重新提交該state:
可以看出TaskScheduler是一個trait,在目前spark系統中TaskScheduler的實現類只有一個TaskSchedulerImpl:
看一下TaskSet的源碼:
從TaskSet源碼的第一個參數tasks就可以看出其是一個Task的數組,包含一組Task。
感謝你的閱讀,相信你對“spark任務調度系統如何理解”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。