Spark基礎(三)Spark中的任務執行

2021-10-11 09:15:08 字數 1283 閱讀 5311

容錯機制

spark的架構特點

根據客戶端提交的jar包劃分出來乙個個的rdd,根據rdd之間的lineage關係劃分dag。劃分dag的目的是為了劃分stage。

2、dag通過dagscheller劃分為stage===》再劃分為taskset

根據劃分出來的dag,將dag送個dagscheduler,接收到dag之後劃分stage,根據stage劃分taskset。

3、將taskset通過taskscheduler劃分為task

4、task放到executor執行

task分解出來之後,driver與worker進行通訊,將task放到executor中執行。

但是記憶體或者磁碟會損壞或者丟失。這時需要將一些比較珍貴的rdd(例如shuffle之後的rdd)通過checkpoint機制進行容錯。將資料進行輸出到檔案中進行儲存。可以使用hdfs。

在checkpoint執行之後,已經不再依賴之前的rdd因此與之前rdd的血緣關係已經不存在。

spark任務與資源管理器無關,只要能夠獲取executor程序,並能保持相互通訊就可以了。

提交sparkcontext的client應該靠近worker節點(執行executor的節點),最好是在同乙個rack裡,因為spark程式執行過程中sparkcontext和executor之間有大量的資訊交換;如果想在遠端集群中執行,最好使用rpc將sparkcontext提交給集群,不要遠離worker執行sparkcontext。

task採用了資料本地性和推測執行的優化機制。

job、stage、task的對應關係如下:

在基於rdd計算時,task的數量 = rdd的分割槽數。

乙個spark應用同時執行的任務數 = 用於執行任務的executor數 * 每個executor的核數。

Spark系列 三 Spark的工作機制

什麼時候才能回歸到看 寫感想的日子呀 剛剛交完房租的我血槽已空。看了師妹關於spark報告的ppt,好懷念學生時代開組會的時光啊,雖然我已經離開學校不長不短兩個月,但我還是非常認真的翻閱了,並作為大自然的搬運工來搬運知識了。1 local,本地執行,通過多執行緒來實現平行計算。2 本地偽集群執行模式...

SPARK基礎概念

可以認為應用是多次批量計算組合起來的過程,在物理上可以表現為你寫的程式包 部署配置。應用的概念類似於計算機中的程式,它只是乙個藍本,尚沒有執行起來。spark學習筆記三 spark原理介紹 spark最重要的api,使用者邏輯與spark集群主要的互動介面,它會和cluster master互動,包...

spark基礎學習

1 基礎介紹 spark是基於記憶體的大資料平行計算框架。具有高容錯性所謂高容錯性 高可伸縮性。伸縮性就是可以利用大量廉價的硬體機器進行分布式部署。高容錯性此處引入了血緣依賴在子rdd中儲存了父rdd的相關資訊,當出現問題就可以回溯找到最初的資料,重新執行確保資料不丟失。這時候可以設定快取,尤其是重...