map與flatMap的區別

2021-09-30 01:44:13 字數 888 閱讀 3167

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 步...