繁体   English   中英

Spark-减少Scala中的键/值对列表

[英]Spark - Reduce List of key-value pair in Scala

我有一个火花流上下文中的键值对列表。 如果有键值对列表,如何使用reduce by key进行聚合? 例:

[("key1",2),("key2",3)]
[("key1",4),("key3",2)]
[("key2",4),("key3",2)]

预期的总产出:

("key1", 6)
("key2", 7)
("key3", 4)

首先使用flatMap进行reduceByKey平,然后使用reduceByKey

val rdd = sc.parallelize(Seq(Seq(("key1",2),("key2",3)), Seq(("key1",4),("key3",2)), Seq(("key2",4),("key3",2))))

rdd.flatMap(identity).reduceByKey(_+_).collect
// res2: Array[(String, Int)] = Array((key1,6), (key2,7), (key3,4))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM