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