Spark執行架構

2021-07-08 10:20:01 字數 1221 閱讀 1897

job:包含多個task組成的平行計算,乙個dag觸發的作業,由action運算元觸發,在sparkcontext中通過runjob方法向spark提交job

stage:job的排程單位,每個job會根據rdd的寬依賴關係被切分成很多stage,每個stage中包含一組相同的task,這組task也叫taskset

task:被送到某個executor的執行單元。乙個分割槽對應乙個task,task中rdd中對應stage中包含的運算元,task被封裝好後放入executor的執行緒池中執行

taskset:一組關聯的,相互之間沒有shuffle依賴關係的任務組成的任務集。

乙個應用程式由乙個driver program和多個job構成。乙個job由多個stage組成。乙個stage由多個沒有shuffle關係的task組成。

1、job提交前:

spark應用程式進行各種transformation的計算,最後通過action觸發job(延遲執行)。

2、提交job,劃分stage:

job提交之後首先通過sparkcontext根據rdd的依賴關係構建dag圖,dag圖提交給dagscheduler進行解析,解析時是以shuffle為邊界,反向解析,構建stage,stage之間也有依賴關係。這個過程就是對dag圖進行解析劃分stage,並且計算出各個stage之間的依賴關係。

3、任務排程與分發:

將乙個個taskset提交給底層排程器,在spark中是提交給taskscheduler處理,生成taskset manager,最後提交給executor進行計算,executor多執行緒計算,計算完反饋給tasksetmanager,再反饋給taskscheduler,然後再反饋回dagscheduler。全部執行完之後寫入資料。

Spark執行架構

在driver program中新建sparkcontext 包含sparkcontext的程式稱為driver program 2 sparkcontext向資源管理器申請執行executor資源,並啟動standaloneexecutorbackend,executor向sparkcontent...

Spark執行架構

spark執行架構要背下來 driver program 執行main函式的程序,並且建立了乙個sparkcontext cluster manager 乙個從cluster申請資源的外部服務 deploy mode 區分driver程序跑在 client模式下,driver跑在本地 cluster...

Spark執行架構

1.基本概念 rdd 是resillient distributed dataset 彈性分布式資料集 的簡稱,是分布式記憶體的乙個抽象概念,提供了一種高度受限的共享記憶體模型 dag 是directed acyclic graph 有向無環圖 的簡稱,反映rdd之間的依賴關係 executor 是...