【发布时间】:2017-04-05 03:22:25
【问题描述】:
Spark 新手并试图理解 reduceByKey,它被指定接受 RDD[(K, V)]。我不清楚的是当值是列表/元组时如何应用这个函数......
经过各种映射和过滤操作后,我的 RDD 以(Cluster:String, (Unique_ID:String, Count:Int)) 的形式结束,其中我可以拥有许多属于同一个集群的元素,例如:
Array((a,(lkn,12)), (a,(hdha,2)), (a,(naa,35)), (b, (cdas,20)) ...)
现在我想使用reduceByKey 为每个集群查找计数最高的元素(因此每个集群一个条目)。在上面的示例中,对于集群 a,这将是 (a,(naa,35))。
如果我有一个带有reduceByKey 和math.max 的简单(键、值)对,我可以弄清楚如何找到每个集群的最大值。但是当值表示值的列表/元组时,我不明白如何扩展它。
我在这里使用了错误的功能吗?
【问题讨论】:
-
你能像stackoverflow.com/questions/15769366/…一样使用maxBy吗?
-
@C4stor 他们正在使用没有
maxBy的RDD
标签: scala apache-spark