【发布时间】:2018-10-09 06:50:43
【问题描述】:
我有两个要加入的键/值对数组[(String, Int)],但仅在键匹配时才返回最小值。
val a = Array(("personA", 1), ("personB", 4), ("personC", 5))
val b = Array(("personC", 4), ("personA", 2))
目标:c = Array((personA, 1), (personC, 4))
val c = a.join(b).collect()
结果:c = Array((personA, (1, 2)), (personC, (5, 4)))
我尝试使用 join 方法实现此目的,但在将它们加入单个数组后减少值时遇到困难:Array[(String, (Int, Int))]。
【问题讨论】:
-
我突然想到
a和b可能是 Apache SparkPairRDD集合,而不是Arrays(因为join不是ScalaArray函数)。我相应地更新了我的答案。让我知道这是否适合您...