Spark(4)——transformation、action、persist
生活随笔
收集整理的這篇文章主要介紹了
Spark(4)——transformation、action、persist
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RDD數據是不可變的:
transformation
將一個RDD變成一個新的RDD’
比如mapreduce中的map操作,將數據集里的元素做處理變成新的元素,形成RDD’。transformation是不會立刻將結果算出來的,相當于把你的意圖記下來,最后還要經過action這樣的刺激才會返回計算結果。如下幾個算子屬于transformation操作:
(1)map(func)操作,上圖已經用到
(2)filter(func)操作,將滿足函數的元素返回true值并保存,不滿足的過濾掉
(3)flatMap(func)操作,先將元素進行map,再把所得到的所有元素變成一個對象:
<1>flatMap
<2>map
對比可以看出,map出來的還是兩個對象,而flatMap出來的對象只有一個。
(4)union、intersection
求兩個RDD之間的并集與交集
(5)groupByKey
將元組中的第0個元素當做key,進行分組
action
就像上面所說的transformation,它是惰性的,必須要有一個東西刺激它才會出結果,action就派上了用場,如下也有一些action算子:
(1)collect
(2)reduce
(3)first
persisit
此操作將數據緩存在內存或者磁盤上。
其實還有一些算子沒有列出,歡迎大家補充指正
總結
以上是生活随笔為你收集整理的Spark(4)——transformation、action、persist的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark(3)——通过本机文件导入到R
- 下一篇: Spark(5)——standalone