Spark框架

Spark的整體流程爲:Client提交應用,Master找到一個Worker啓動Driver,Driver向Master或者資源管理器申請資源,之後將應用轉化爲RDD Graph,再由DAGScheduler將RDD Graph轉化爲Stage的有向無環圖提交給TaskScheduler,由TaskScheduler提交任務給Executor執行。在任務執行的過程中,其他組件協同工作,確保整個應用順利執行。


Client:作爲用戶的客戶端負責提交應用。

Master:作爲整個集羣的控制器,負責整個集羣的正常運行。

Worker:相當於計算節點,接收主節點命令並進行狀態彙報。

Driver:負責控制一個應用程序,其運行Application的main()函數,並創建SparkContext。

SparkContext:是整個應用的上下文,控制應用的生命週期。

RDD:Spark的基本計算單元,一組RDD可形成執行的有向無環圖RDD Graph。

DAGScheduler:根據作業(Job)構建基於Stage的DAG,並提交Stage給TaskScheduler。

TaskScheduler:將任務分發給Executor。

Executor:執行器,在worker node上執行任務的組件,用於啓動線程池運行任務。

Spark框架中其他組件的作用:

SparkConf:負責存儲配置信息。

MetricsSystem:監控運行時性能指標信息。

BlockManager:負責存儲管理,負責創建和查找block。

BrocastManager:負責廣播變量的控制與元信息的存儲。



Progress is not created by contented people.

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