rdd彈性分布式資料集
集合分布式的
1、最重要的特性:分割槽
rdd究竟是如何分割槽?
從外部載入資料時,比如hdfs,分割槽數與hdfs的block數一致
從內部的單機list中載入資料為rdd,parallelize(numpartition)
從mysql等非內建支援的資料來源載入資料,分割槽就取決於自定義的partitioner
初創的rdd經過一系列的轉換操作,分割槽數通常不會變,除了shuffle操作
rdd.groupby(numpartition)
比如之前是8個分割槽,現在shuffle指定4個分割槽,最後得到的新rdd就是4個分割槽
手動repartition也會改變分割槽
rdd.repartition(8) //增加分割槽
rdd.coalesce(4) //減少分割槽
2、擁有乙個抽象函式compute-->operate --> iterate
在compute之上,提供了諸如map flatmap filter 等高階轉換api
我們就可以把邏輯寫成匿名函式傳入這些高階api(高階函式)
3、提供了乙個checkpoint的容錯機制
你可以在任何運算環節上,將該環節產生的rdd持久化到外部儲存中
如果後續過程出錯,則只要從這個checkpoint中接著計算即可
rdd.checkpoint()
rdd.ischeckpointed =》false
rdd.action()後才會真正持久化
4、依賴關係lineage血統
血統的作用:容錯
劃分dag stage的依據
sc.map.reduce....
大資料技術學習 彈性分布式資料集RDD
一 rdd定義 rdd resilient distributed dataset 叫做分布式資料集,是spark中基本的資料抽象,它代表乙個不可變 資料和元資料 可分割槽 裡面的元素可平行計算的集合。其特點在於自動容錯,位置感知性排程和可伸縮性。二 rdd的屬性 1 一組分片。即資料集的基本組成單...
Spark RDD 彈性分布式資料集
rdd是唯讀的 分割槽記錄的集合 乙個rdd的生成只有兩種途徑 rdd具有自動容錯 位置感知和可伸縮性特點 rdd只支援粗粒度轉換,即乙個操作會被應用在rdd的所有資料上 rdd包含 程式設計師還可以從兩個方面控制rdd,即持久化和分割槽。使用者可以請求將rdd快取,這樣執行時將已經計算好的rdd分...
Spark RDD 彈性分布式資料集
rdd是唯讀的 分割槽記錄的集合 乙個rdd的生成只有兩種途徑 rdd具有自動容錯 位置感知和可伸縮性特點 rdd只支援粗粒度轉換,即乙個操作會被應用在rdd的所有資料上 rdd包含 程式設計師還可以從兩個方面控制rdd,即持久化和分割槽。使用者可以請求將rdd快取,這樣執行時將已經計算好的rdd分...