flatMap(func) 案例
- 作用:類似於map,但是每一個輸入元素可以被映射爲0或多個輸出元素(所以func應該返回一個序列,而不是單一元素)
- 需求:創建一個元素爲1-4的RDD,運用flatMap創建一個新的RDD
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object Spark25 extends App {
// 設定Spark計算環境
val config: SparkConf = new SparkConf().setMaster("local[4]").setAppName("WordCount")
// 創建上下文
val sc = new SparkContext(config)
private val listRDD: RDD[List[Int]] = sc.makeRDD(Array(List(1, 2), List(3, 4)))
//flatMap
private val flatMap: RDD[Int] = listRDD.flatMap(datas => datas)
flatMap.collect().foreach(println)
}
編碼過程中注意RDD類型
RDD[List[Int]]
RDD[Int]