Spark始めた初期につまづいたのでメモ。
結果の違いで覚えた。
まずはRDDを作る。
val seq = Seq("Some People Feel the Rain", "Others Just Get Wet") val rdd = sc.parallelize(seq)
このRDDに対してmap
rdd.map(x => x.split(" ")).collect
結果はこれ
Array[Array[String]] = Array(Array(Some, People, Feel, the, Rain), Array(Others, Just, Get, Wet))
入れ子になってる。
さっきのRDDに対してflatMap
rdd.flatMap(x => x.split(" ")).collect
結果はこれ
Array[String] = Array(Some, People, Feel, the, Rain, Others, Just, Get, Wet)
フラットになってる。