也就是這篇文章的主要參考文章。
關於rdd和stage的區別,可以參考這張圖
其中a, b, c這樣的字母代表的就是rdd,虛線框就是stage。之前提到,stage劃分,是看有沒有shuffle這樣操作的rdd而決定的。
常見的函式式程式語言有: scala, erlang, haskell, lisp, golang(就是go language), 哈哈哈。還有乙個clojure,是執行在jvm上面的lisp方言。還有f#.
可以再接著看:
以及《spark on yarn》
Spark執行架構
job 包含多個task組成的平行計算,乙個dag觸發的作業,由action運算元觸發,在sparkcontext中通過runjob方法向spark提交job stage job的排程單位,每個job會根據rdd的寬依賴關係被切分成很多stage,每個stage中包含一組相同的task,這組task...
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...