十八掌 武功篇 第十六掌 Spark之RDD簡介

2021-08-11 14:56:40 字數 2426 閱讀 6486

系列文章:

【十八掌●武功篇】第十六掌:spark之scala安裝和helloworld

【十八掌●武功篇】第十六掌:spark之scala語法快速概覽

【十八掌●武功篇】第十六掌:spark之簡介、安裝、demo

【十八掌●武功篇】第十六掌:spark之rdd簡介

1、 rdd定義

rdd是彈性分布式資料集(resilient distributed dataset)的簡稱,其實就是分布式元素集合。在spark中,對資料的所有操作不外乎建立rdd、轉化已有的rdd、呼叫rdd操作進行求值。

2、 操作型別

rdd有兩種型別的操作:transformation操作、action操作,transformation操作和action操作區別在於spark計算rdd的方式不同。

rdd是彈性分布式資料集,是spark中最關鍵、最基本的乙個抽象,他代表的是不可變的、分割槽的集合,這個集合可以被並行處理。

internally, each rdd is characterized by five main properties:

1、 rdd是分割槽的

乙個rdd對應的資料集合是分割槽的,各個分割槽分布在各個機器當中,每個rdd是不可變的,每個分割槽對應乙個task。

檢視rdd的分割槽數量:

scala> val rdd=sc.textfile("/input.txt")

scala> rdd.getnumpartitions

16/10/18

05:16:24 info mapred.fileinputformat: total input paths to process : 1

res2: int = 2

2、 每個分割槽都可以運用函式

每個分割槽上都應用於乙個函式,各個分割槽執行的計算邏輯是一樣的,只是資料不同。

3、 每個rdd都有一系列其他依賴

每個rdd依賴於一系列的rdd,因為有dag,所以能找到依賴的rdd,目的是可以進行容錯,當某乙個rdd操作失敗了,可以找到他的依賴進行重新計算。

檢視某乙個rdd的血緣關係:

scala> val rdd=sc.textfile("/input.txt")

scala> var wordcountrdd=rdd.flatmap(line => line.split(" ")).map(word =>(word,1)).reducebykey((a,b)=>(a+b))

scala> wordcountrdd.todebugstring

res3: string =

(2) shuffledrdd[4] at reducebykey at

:29

:29

:29

:27

| /input.txt hadooprdd[0] at textfile at

:27

4、 鍵值對rdd型別可以指定分割槽方式

對於鍵值對型別的rdd,可以制定乙個分割槽方式。

5、 資料本地化

task所執行的機器與處理的資料在同乙個機器上,就是資料本地化。

1、 並行化集合

scala> val list=list(1,2,3,4,5,6,7)

scala> val rddnum=sc.parallelize(list)

scala> rddnum.count

res0: long = 7

2、 從外部資料集讀取

可以從hdfs讀取檔案載入資料或者hbbase載入資料。

scala> val rdd=sc.textfile("/input.txt")

res1: long = 5

1、 transformation**換)

從乙個rdd變為另外乙個rdd的操作叫做transformation操作,transformation的操作都是懶操作,即不會立即執行,只有當進行action操作時才會真正的去執行。

如:map()、filter()、distinct()

2、 action(執行)

action操作能返回driver程式乙個值或者是匯出資料到外部系統。

比如:count()、reduce()、collect()、take()

3、 persistence(持久化)

快取資料到記憶體、磁碟、外部的儲存器。

persist():快取資料,可以指定快取級別。

cache():就是呼叫的persist(),快取級別為記憶體。

(1) 快取級別:

(2) 何時進行快取

有兩種情況下要進行快取:

- rdd之後會被使用很多次

- 某個rdd的資料是經過非常複雜的清洗過濾得到的

降龍十八掌

人身陽氣集於督脈 氣入丹田,通長強 走腰俞 腰陽關 命門 懸樞 脊中 中樞筋縮 至陽 靈台 神道 身柱 陶道 大椎 啞門 風府 腦戶 強間 後頂 百會前頂 顖會 上星 神庭 素髎 水溝 兌端 齦交.走手太陰肺經 至中府 雲門 天府 俠白 尺澤 孔最 列缺 經渠至掌心.此式為簡單威猛一式,左腿微屈,右...

《降龍十八掌》原文

第一式 亢龍有悔出處 易經乾卦上九 亢龍,有悔。象 曰 亢龍,有悔 盈不可久也。人身陽氣集於督脈 氣入丹田,通長強 走腰俞 腰陽關 命門 懸樞 脊中中樞筋縮 至陽 靈台 神道 身柱 陶道 大椎 啞門 風府 腦戶 強間 後頂百會前頂 顖會 上星 神庭 素髎 水溝 兌端 齦交。走手太陰肺經至中府雲門 天...

SEO實操技術降龍十八掌

1 永遠不要放過網頁的程式設計客棧title,火星人都知道.2 請不要在title,descreption,keyword裡寫n多東西,越貪婪,得到的就越少.3 網頁的頭部和底部是重要位置,對於搜尋引擎來說,盡量的將關鍵字加到裡面。4 關鍵字需要認真選擇,不要選的太寬也不要選的太窄,也沒多少流量。5...