Gần đây tôi đã có kịch bản để lưu trữ dữ liệu trong cặp KeyValue và đi qua một hàm reduceByKey(_ ++ _)
. Đây là cú pháp viết tắt hơn. Tôi không thể hiểu điều này thực sự có ý nghĩa gì.Ý nghĩa của reduceByKey (_ ++ _)
Ex: reduceBykey(_ + _)
nghĩa reduceByKey((a,b)=>(a+b))
Vì vậy reduceByKey(_ ++ _)
phương tiện ??
Tôi có thể tạo cặp khóa giá trị ngoài dữ liệu bằng cách sử dụng 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))
Cảm ơn bạn đã giải thích. –