Spark任務提交底層原理

2021-08-26 17:43:36 字數 592 閱讀 7152

1.驅動器(driver)應用程式的入口,執行使用者編寫的用來建立的sparkcontext,建立rdd以及rdd之間的轉換操作的**(觸發action)

2.rdd的建立和rdd之間的轉換就是有向無環圖(dag),將有向無環圖傳送給dagscheduler

3.dagscheduler通過血統(款依賴,窄依賴)劃分stage,並將stage組合成taskset(任務數)傳送給taskscheduler

4.通過taskscheduler將taskset轉換為task任務,將任務新增到任務佇列中提交給schedulerbackend進行資源分配和任務排程

5.排程器給task分配executor,執行任務

1.job(作業):有乙個rdd action生成的乙個或多個階段的所組成的 一次計算作業

2.taskset(任務集):由一組關聯的,但互相之間沒有shuffle依賴關係的任務所組成的任務集

3.stage(階段):如果遇到shuffle階段結束

4.task(任務):每個分割槽資料的最小處理單元

Spark任務提交流程

spark任務提交流程挺複雜的,下面給乙個相對簡單的任務提交流程 driver程序啟動以後,首先構建sparkcontext,sparkcontext主要包含兩部分 dagscheduler和taskscheduler master接受到任務註冊資訊之後,根據自身資源呼叫演算法在spark集群的wo...

Spark任務提交流程

建立sparkcontext物件,其中包含dagscheduler和taskscheduler executor內部會建立執行task的執行緒池,然後把啟動的executor反向註冊給driver dagscheduler負責把spark作業轉化成stage的dag,根據寬窄依賴切分stage,然後...

Spark任務提交流程

spark的任務執行流程沒有hadoop那麼繞,它的流程其實就是當你執行submit的的時候driver會和master進行互動,因為對於spark來說master是掌控集群資源的元件,和hadoop的yarn是一樣的作用,master會通知有資源的伺服器節點,去主動的和driver互動,這一步也叫...