spark的dataframe操作,其中map和flatmap挺繞頭的,其實要理解也很簡單,只需要記住一下即可:
- map是對dataframe的每一個row的操作。
- flatmap是先map,再扁平化。
具體示例我們可以看如下的例子:
val arr=sc.parallelize(Array("a1","b2","c3"))
使用map:
arr.map(x=>x).foreach(println)
輸出結果為:
c3
b2
a1
使用flatmap:
arr.flatMap(x=>x).foreach(println)
輸出結果為:
b
a
1
c
2
3
這里可以看到。flatMap首先是對元素進行映射,然后扁平化默認會分割成一個一個字母。