spark筆記(一)之RDD任務劃分

2021-10-05 19:06:31 字數 712 閱讀 2561

一.driver & executer

driver:建立spark上下文物件的應用程式稱之為driver,或者驅動器;只要建立spark上下文物件的類,可以稱之為driver類

* 功能:傳送任務給executor進行計算

* 總結:除executoru運算元計算功能之外的**都屬於driver

executor:接收認為並執行任務,稱之為執行器(也就是說把計算的任務交給執行器,進行計算)

* 功能:對任務進行計算,把計算結果反饋給driver

* 總結:所有運算元當中的計算功能全部由executor來執行的

二.shuffle & 寬依賴

shuffle:對資料進行打亂重組的運算元,說明進行shuffle運算。(即為寬依賴)

寬依賴:是劃分階段的乙個標準。是需要進行等待的

窄依賴:除了寬依賴其他的都是窄依賴,不需要等待。可以並行的執行每個分割槽的程式,效能就會得到提高

2)job:乙個action(行動運算元)就會生成乙個job

3)stage(階段):根據rdd之間的依賴關係的不通過將job劃分不同的stage,遇到乙個寬依賴則劃分乙個stage。spark程式執行的個數為1+shuffle的個數

4)task(任務):乙個stage(階段)可以有多個任務(taskset),將stage劃分的結果傳送到不同的executor執行,即為乙個task

Spark筆記三之RDD,運算元

rdd核心概念 resilientdistributed dataset,彈性分布式資料集 1是唯讀的,分割槽記錄的集合物件 2分割槽 partition 是rdd的基本組成單位,其決定了平行計算的粒度。應用程式對rdd的轉換最終都是對其分割槽的轉換。3使用者可以指定rdd的分割槽個數,如果不指定則...

Spark學習之RDD程式設計(一)

rdd是spark的核心概念,它是乙個可讀的 可分割槽的分布式資料集,這個資料集的全部或部分可以快取在記憶體中,可在多次計算間重用。spark用scala語言實現了rdd的api,我們可以通過呼叫api實現對rdd的各種操作,從而實現各種複雜的應用。spark採用textfile 方法從檔案系統中載...

Spark之RDD的屬性

1.一組分片 partition 即資料集的基本組成單位。對於rdd來說,每個分片都會被乙個計算任務處理,並決定平行計算的粒度。使用者可以在建立rdd時指定rdd的分片個數,如果沒有指定,那麼就會採用預設值。預設值就是程式所分配到的cpu core的數目。2.乙個計算每個分割槽的函式。spark中r...