RDD是spark的核心組成,想要理解spark,就必須瞭解RDD。那麼RDD具有什麼樣的特性,怎麼來創建和應用呢?
一、 RDD(Resilient Distributed Dataset)
RDD是一個彈性分佈式數據集,這裏我們解釋一下它具體的含義:
(1)彈性-如果在內存中的數據丟失,可以重建
(2)分佈式-在整個集羣中處理
(3)數據集-初始的數據可以由程序創建,也可以從文件中讀取
RDD是spark數據的基礎單位, 大多數程序由對RDDS的執行操作組成
二、 創建RDD
創建RDD的三種方法 :(1)從文件或文件集; (2)從內存中的數據 ;(3)從另一個RDD
示例:基於文件的RDD創建
三、 RDD操作
兩種類型:(1)Actions-返回值;(2)Transformations-基於當前的RDD定義新的RDD
四、 RDD操作: Actions
常見操作
(1)count()-返回元素的數量
(2)take(n)-返回包含前n個元素的數組
(3)collect()-返回所有元素的數組
(4)save As Text File(file)-保存爲文本文件
五、 RDD操作: Transformations
Transformations基於存在的RDD創建新的RDD。RDDs是不可變的,它本身的數據不能修改,根據需要按順序轉換來修改數據 。
常見操作:
(1)map(function)-對基礎RDD的每個記錄執行函數
(2)filter(function)-根據boolean函數選出或者排除基礎RDD的數據作爲新的RDD
示例:map和filter Transformations
以上是對於RDD進行的部分分享,後續還會繼續挖掘RDD其它方面的知識。這裏推薦大家一個微信公衆號“大數據cn”,裏面有很多大數據相關的知識介紹,可以去關注一下。