spark學習 Task原理

2021-08-16 07:49:43 字數 449 閱讀 6344

task原理:

1.executor接收到了launchtask請求,將task封裝成taskrunner執行。

2.反序列化task,並通過網路拉取需要的檔案、jar包等,然後執行task的run()方法。

3.呼叫rdd的iterator()方法,會針對task所對應的rdd的partition,執行我們自定義的function函式(運算元)。

4.shufflemaptask階段,計算完partition資料後,會使用shufflemanager的shufflewrite,將資料分割槽之後寫入對應的分割槽檔案。

5.操作完成後,會有乙個mapstatus傳送給dagscheduler中的mapoutputtracker。

6.resulttask階段,會去mapoutputtracker中拉取shufflemaptask輸出的rdd資料,來執行shuffle等操作,包括自定義的運算元和函式。

Spark 之 Task 原理分析

目錄 1 接收請求,準備操作 executor 接收到了launchtask的請求後,在taskrunner中會做一些準備工作,例如 反序列化task,因為task傳送過來時,是被序列化的。然後通過網路拉取需要的檔案,jar包等。在準備工作之後,執行task的run 方法,該方法最核心的就是呼叫rd...

spark學習 Task排程演算法

task排程演算法 對每個task,依據本地化演算法從最好的一種本地化級別開始遍歷,直到task被分配到executor執行。1.process local,程序本地化,rdd的partition和task進入乙個executor內,執行速度快。2.node local,節點本地化,rdd的part...

spark學習12(spark架構原理)

spark採用的是主從式的架構,主節點叫master,從節點是worker 我們編寫的spark就在driver上,由driver程序執行。driver是spark集群的節點之一,或你提交spark程式的機器 master是集群的資源管理者和排程者,類似yarn裡面的resourcemanger,還...