spark工作流程

1.使用spark-submit提交腳本

2.此時會產生一個Driver進程,Driver主要用來運行我們提交的代碼

3.spark腳本的開頭通常是創建SparkContext的代碼,Driver運行到此處時,先創建SparkContext對象,SparkContext會構建DAGScheduler和TaskScheduler

4.TaskScheduler連接到集羣的Master

5.Master運用資源調度算法,通知Worker啓用Executor

6.Executor反向註冊到TaskScheduler上(用於讓TaskScheduler直接在之後將task扔給executor執行)

7.至此,SparkContext初始化完成,Driver繼續執行後面的代碼

8.當Driver遇到一個Action時,會產生一個job,每個job由DAGScheduler根據是否有Shuffle將job劃分爲多個stage,每個stage創建一個TaskSet

9.TaskSet將task給TaskScheduler

10.TaskScheduler會通過task分配算法將TaskSet裏的task提交給executor

11.executor在線程池裏取一個線程來完成計算任務。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章