1)有乙個分片列表,就是能被切分,和hadoop一樣,能夠切分的資料才能平行計算。
一組分片(partition),即資料集的基本組成單位,對於rdd來說,每個分片都會被乙個計算任務處理,並決定平行計算的粒度。使用者可以在建立rdd時指定rdd的分片個數,如果沒有指定,那麼就會採用預設值。預設值就是程式所分配到的cpu core的數目。每個分配的儲存是由blockmanager實現的,每個分割槽都會被邏輯對映成blockmanager的乙個block,而這個block會被乙個task負責計算。
2)由乙個函式計算每乙個分片,這裡指的是下面會提到的compute函式。
spark中的rdd的計算是以分片為單位的,每個rdd都會實現compute函式以達到這個目的。compute函式會對迭代器進行復合,不需要儲存每次計算的結果。
3)對其他rdd的依賴列表,依賴還具體分為寬依賴和窄依賴,但並不是所有的rdd都有依賴。
rdd的每次轉換都會生成乙個新的rdd,所以rdd之間就會形成類似於流水線一樣的前後依賴關係。在部分分割槽資料丟失時,spark可以通過這個依賴關係重新計算丟失的分割槽資料,而不是對rdd的所有分割槽進行重新計算。
4)可選:key-value型的rdd是根據雜湊來分割槽的,類似於mapreduce當中的paritioner介面,控制key分到哪個reduce。
乙個partitioner,即rdd的分片函式。當前spark中實現了兩種型別的分片函式,乙個是基於雜湊的hashpartitioner,另外乙個基於範圍的rangepartitioner。只有對於key-value的rdd,才會有partitioner,非key-value的rdd的partitioner的值是none。partitioner函式不但決定了rdd本身的分片數量,也決定了parent rdd shuffle輸出時的分片數量。
5)可選:每一分片的優先計算位置,比如hdfs的block的所在位置應該是優先計算的位置。
乙個列表,儲存訪問每個partition的優先位置(preferred location)。對於乙個hdfs檔案來說,這個列表儲存的就是每個partition所在的塊的位置。按照「移動資料不如移動計算」的理念,spark在進行任務排程的時候,會盡可能地將計算任務分配到其所要處理資料塊的儲存位置。
rdd的特點:
它是在集群節點上的不可變的、已分割槽的集合物件。
通過並行轉換的方式來建立如(map, filter, join, etc)。
失敗自動重建。
可以控制儲存級別(記憶體、磁碟等)來進行重用。
必須是可序列化的。
是靜態型別的。
RDD的5大特性
worker裡有很多excutor,真正完成計算的是excutor,excutor計算都是在記憶體進行計算,excutor裡面有partitioner,partitioner裡面的資料如果記憶體足夠大的話放到記憶體中,它是一點一點讀的 rdd是分布式資料集,所說rdd就是這個,rdd有5個特點 1....
spark的RDD五大特點
rdd的5大特點 1 有乙個分片列表,就是能被切分,和hadoop一樣,能夠切分的資料才能平行計算。一組分片 partition 即資料集的基本組成單位,對於rdd來說,每個分片都會被乙個計算任務處理,並決定平行計算的粒度。使用者可以在建立rdd時指定rdd的分片個數,如果沒有指定,那麼就會採用預設...
http的5大特點
1.支援客戶 伺服器模式。3.靈活 http允許傳輸任意型別的資料物件。正在傳輸的型別由content type content type是http包中用來表示內容型別的標識 加以標記。4.無連線 無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用...