天天看點

spark學習-Spark的Map()和FlatMap()函數使用

spark學習-Spark的Map()和FlatMap()函數使用

1。先看圖

spark學習-Spark的Map()和FlatMap()函數使用

解釋:map函數和faltMap()函數都會像是工廠一樣,對你每個元素都做處理

  1. map會将每一條輸入映射為一個新對象。{蘋果,梨子}.map(去皮) = {去皮蘋果,去皮梨子} 其中: “去皮”函數的類型為:A => B 2.flatMap包含兩個操作:會将每一個輸入對象輸入映射為一個新集合,然後把這些新集合連成一個大集合。 {蘋果,梨子}.flatMap(切碎) = {蘋果碎片1,蘋果碎片2,梨子碎片1,梨子碎片2} 其中: “切碎”函數的類型為: A => List

“flatMap “函數的一半功能和map函數一樣,不過有個要求,傳入的函數在處理完後傳回值必須是List(應該是Seq),如果結果不是List(Seq),那麼将出錯。也就是說,傳入的函數是有要求的——傳回值是Seq才行。這樣,每個元素處理後傳回一個List,我們得到

繼續閱讀