flatmap
val linearray =
array
("hello you"
,"hello me"
,"hello world"
)val lines = sc.
parallelize
(linearray,1)
val words = lines.
flatmap
(line =
>
)words.foreach
結果:
hello
youhello
mehello
world
map:
val linearray =
array
("hello you"
,"hello me"
,"hello world"
)val lines = sc.
parallelize
(linearray,1)
val words = lines.
map(line =
>
)words.foreach
結果:
helloyou
hellome
helloword
flatmap是將輸入的資料首先進行map操作,然後再進行壓平操作,從上面可以看出經過map操作過後的結果是array(array()…) , 壓平就是將array中的陣列都變成元素array(…)。flatmap會將其返回的陣列全部拆散,然後合成到乙個陣列中即對每乙個資料作用那個function
map:獲取乙個新元素(原本幾個元素還是幾個元素) flatmap 獲取乙個或者多個新元素(比原來的元素多)
map與flatMap的區別
spark的轉換運算元中map和flatmap都十分常見,要了解清楚它們的區別,我們必須弄懂每執行一次的資料結構是什麼。這裡我們先準備一組資料 hello spark hadoop jeff ruoze spark hi spark hello 啟動spark之後,讀取這個檔案 將一行行按照製表符進...
map與flatmap的區別
def func map data hello world hello fly data rdd sc.parallelize data map rdd data rdd.map lambda s s.split print map print format map rdd.collect def ...
Spark 中 map 與 flatMap 的區別
通過乙個實驗來看spark 中 map 與 flatmap 的區別。步驟一 將測試資料放到hdfs上面 hadoopdfs put data1 test1.txt tmp test1.txt 該測試資料有兩行文字 步驟二 在spark中建立乙個rdd來讀取hdfs檔案 tmp test1.txt 步...