Spark架構剖析

2021-07-22 16:34:22 字數 1082 閱讀 7707

spark deploymet(部署)

軟體中有哪些實體,實體間如何協調工作。

cluster manager負責管理和分配集群資源

driver program相當於專案經理

executor 相當於軟體工程師

resource:core、memeory、io:磁碟io、網路io

coarse grained 粗粒度

dag scheduler dag排程,是高層的排程器

task scheduler 任務排程,是底層的排程器

graph of stages rdd partitioning pipelining

task finish & stage failure events

task placement retries on failure

speculation inter-job policy

sparkcontext

併發的執行緒池

rdd graph(圖表)

在併發執行的時候,通過block manager讀寫資料

怎麼劃分不同的階段?

寬依賴、窄依賴

廣度只是深度的副產品而已。

sheduler optimizations排程優化

previously computed partition 預先計算的分割槽

stage階段,基於記憶體進行迭代。

shuffle依賴於所有的,需要進行網路傳輸,無法在記憶體中進行迭代。

後面的rdd依賴於前面的rdd

schedule:

rdd objects:build operator dag

dag scheduler:

split graph into stages of tasks

submit each stage as ready

taskscheduler:

launch tasks via cluster manager

retry failed or straggling tasks

worker:

execute tasks

store and serve blocks

Spark核心架構深度剖析

driver 就是我們用來提交編寫的spark程式的一台機器,在driver中最重要的一件事 建立sparkcontext sparkcontext 我們在建立sparkcontext的過程中,最重要的3件事,其一建立dagsechedule 有向無迴圈圖排程者 其二建立taskscheduler ...

Spark核心架構深度剖析

1,通過spark submit提交編寫好的spark程式,這時候spark會通過反射的方式,建立和構造乙個driveractor程序出來。3,應用程式每執行到乙個action就會建立乙個job,job會提交給dagscheduler,dagscheduler會通過stage劃分演算法 5,mast...

Spark執行架構

job 包含多個task組成的平行計算,乙個dag觸發的作業,由action運算元觸發,在sparkcontext中通過runjob方法向spark提交job stage job的排程單位,每個job會根據rdd的寬依賴關係被切分成很多stage,每個stage中包含一組相同的task,這組task...