1 sparkcontext哪一端生成的?
driver端即sparkcontext
(driver 是乙個統稱,dagschedule ,taskscheduler,blockmanager,shuffemanager,broadcastmanger)
2 dag是在哪一端被構建的?
driver 端
3 rdd是在哪一端生成的?
driver 端 ,rdd 不裝真正要計算的資料,而是記錄了資料的描述資訊
(以後從**讀資料,怎麼計算)
4 呼叫 rdd 的運算元(transformation和action) 是在哪一端呼叫的
driver端
5 rdd在呼叫 transformation 和 action 時需要傳入乙個函式,函式是在哪一端宣告【定義】 和傳入的?
drve端
6 rdd 在呼叫transformation 和 action時傳入函式,請問傳入的函式是在哪一端執行了函式的業務邏輯 ?
executor 中的 task 指定的
7 task 是在哪一端生成的?
driver端 ,task 分為shufflemap 和 resulttask
8 dag 是在哪一端構建好的並被切分成一到多個stage的
driver
9 dag 時哪個類完成的切分stage 的 功能的 ?
dagscheduler
10 dagscheduler 將 切分好的 task 以什麼樣的形式給taskscheduler
taskset
11 分割槽器這個類是在哪一端例項化的
driver端
12 分割槽器中的 getparition 方法在哪一端呼叫的呢?
executor 中的 task
13 廣播變數的 broadcast 方法是在哪一端呼叫的方法進行廣播的
driver 端
14 要廣播的資料應該在哪一端先建立好再廣播呢?
driver 端
15 廣播變數以後能修改嗎?
不能修改
16 廣播變數廣播到executor 後,乙個executor 程序中有幾份廣播變數的資料
乙份全部的廣播的資料
EMR執行spark任務任務失敗重試的問題
在emr上跑spark任務,cluster yarn。在補資料的時候,就是把主函式,根據日期通過for迴圈補充資料,一次性補充了2個月的資料。會不定時的出現重試的現象,例如我從8月份補充到10月份,程式跑到8月15號,進行16號的任務是開始重試,又從8.1號開始執行。追蹤emr監控日誌,會出現類似a...
Spark任務執行原理
首先,先看一幅圖 以上圖中有四個機器節點,driver 和 worker 是啟動在伺服器節點上的程序,這些程序都執行在 jvm 中。上述圖的執行步驟 driver 與集群節點之間有頻繁的通訊。driver 負責任務 tasks 的分發和結果的 任務的排程。如果 task的計算結果非常大就不要 了,會...
Spark任務執行過程解析
spark submit sparksubmit main submit dorunmain runmain 通過反射,建立我們編寫的主類的例項物件,呼叫main方法 開始執行我們的 初始化sparkcontext物件 建立初始rdd 出發action運算元 提交job worker執行任務 任務結...