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...