map 和 flatmap 的區別

2021-09-27 06:43:15 字數 807 閱讀 2156

我看到網上的這些抄例子,真是醉了,所有人用的都是乙個例子,這個例子還很不好理解,於是寫了這個,就不搞理繞口的理論介紹了,直接看例子吧

rdd1 = sc.parallelize(

["a b c"

,"d e f"

,"h i j"])

rdd2 = rdd1.

map(

lambda x:x.split(

" ")

) rdd2.collect(

)>>

>[[

'a',

'b',

'c'],[

'd',

'e',

'f'],[

'h',

'i',

'j']

]

rdd1 = sc.parallelize(

["a b c"

,"d e f"

,"h i j"])

rdd2 = rdd1.flatmap(

lambda x:x.split(

" ")

)rdd2.collect(

)>>

>

['a'

,'b'

,'c'

,'d'

,'e'

,'f'

,'h'

,'i'

,'j'

]

也就是說map不會講原先的列表中的元素全部扁平化,而flatmap則會將資料扁平化

map和FlatMap之間區別

map和flatmap之間區別?這兩者都是遍歷rdd中資料,並對資料進行資料操作,並且會的到乙個全新rdd map多用於計算或處理一些特殊資料型別,不能使用扁平化處理的資料型別 flatmap不僅可以對資料遍歷處理,而且可以將存在rdd中集合中資料進行處理並且儲存到乙個新的集合中 所以兩種的使用本質...

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