です。最近、keyValueペアにデータを格納するシナリオがあり、関数reduceByKey(_ ++ _)
を見つけました。これは省略形の構文です。私はこれが実際に何を意味するのか理解できません。reduceByKey(_ ++ _)の意味は
例:reduceBykey(_ + _)
だからreduceByKey((a,b)=>(a+b))
reduceByKey(_ ++ _)
手段意味します?
reduceByKey(_ ++ _)
を使用して、データからキー値のペアを作成することができます。
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))
ありがとうございます。 –