20 Spark核心程式設計之Spark架構原理

2021-09-10 02:33:16 字數 1037 閱讀 8586

driver

driver(程序),我們編寫的spark程式就在driver上,由driver程序執行

master

master是個程序,主要是負責資源的排程和分配,還有集群的監控等等職責

worker

worker是個程序,主要負責有兩個,乙個是用自己的記憶體,儲存rdd的某個或某些partition,另乙個是啟動其他程序和執行緒,對rdd上的partition進行並行的處理和計算

executor

task

executor和task,其實就是負責執行,對rdd的partition進行平行計算,也就是執行我們對rdd定義的,比如map、flatmap、reduce等運算元操作

spark架構原理.png

driver程序啟動後,會做一些初始化操作,在這個過程中,就會傳送請求到master上,進行spark應用程式的註冊,說白了,就是讓master知道,有乙個新的spark應用程式要執行

master,在收到了spark應用程式的註冊申請之後,會傳送請求給wroker,進行資源的排程和分配,資源分配,就是executer的分配

wroker收到master的請求之後,會為spark應用啟動executor

executor啟動之後,會向driver進行反註冊,這樣,driver就知道,哪些executor是為它進行服務的了

driver註冊了一些executor之後,就可以開始正式執行我們的spark應用程式了,首先第一步,就是建立初始rdd讀取資料源

hdfs檔案內容被讀取到多個worker節點上,形成記憶體中的分布式資料集,也就是初始rdd

driver會根據我們對rdd定義的操作,提交一大堆task去executor上

executor收到task之後,會啟動多個執行緒來執行task

task就會對rdd的partition資料執行指定的運算元操作,形成新的rdd的partition,然後driver就會向executor提交新的task

windows核心程式設計之核心物件

由於不是計算機科班出身,一直對於程序和執行緒沒有深入的了解,現開始看windows核心程式設計,將具體內容整理一下,以加深印象。1 核心物件,即作業系統維護的乙個資料結構,內部維護該物件的各種資料資訊,常見的核心物件有 用於建立程序的程序核心物件,用於建立執行緒的執行緒核心物件,建立檔案的檔案核心物...

Lua核心程式設計之基礎

由於本人這個學期選了一門選修課 cocos2d x移動遊戲開發 所以想整理一下筆記了。不保證部落格的全面性,我只記一些我認為需要記錄的,最好的學習方式還是看書。學習資料 cocos2d x之lua核心程式設計 極客學院 老師的ppt 學習環境 mac os x,sublime text,cocos2...

《python核心程式設計》之GUI程式設計(續)

2018 6 19 這裡主要介紹gui的擴充套件。包括tix tk介面擴充套件 pmw python megawidgets thinter擴充套件 wxpython wxwidgets的python版本 以及pygtk gtk 的python版本 在前面的部落格裡面介紹了label,button的...