最近我有方案將數據存儲在keyValue Pair中,並遇到了一個函數reduceByKey(_ ++ _)
。這是更簡短的語法。我無法理解這實際上意味着什麼。reduceByKey(_ ++ _)是什麼意思
例:reduceBykey(_ + _)
意味着reduceByKey((a,b)=>(a+b))
所以reduceByKey(_ ++ _)
手段?
我能夠使用reduceByKey(_ ++ _)
來創建數據中的Key值對。
val y = sc.textFile("file:///root/My_Spark_learning/reduced.txt")
y.map(value=>value.split(","))
.map(value=>(value(0),value(1),value(2)))
.collect
.foreach(println)
(1,2,3)
(1,3,4)
(4,5,6)
(7,8,9)
y.map(value=>value.split(","))
.map(value=>(value(0),Seq(value(1),value(2))))
.reduceByKey(_ ++ _)
.collect
.foreach(println)
(1,List(2, 3, 3, 4))
(4,List(5, 6))
(7,List(8, 9))
感謝您的解釋。 –