在Spark RDD中,返回每个唯一键关联的最大行(值)的最佳方法是什么?
我正在使用Python,并尝试使用Math max、映射和按键减少聚合。有没有有效的方法来做到这一点?可能是一个UDF?
我有一个RDD格式:
[(v, 3),
(v, 1),
(v, 1),
(w, 7),
(w, 1),
(x, 3),
(y, 1),
(y, 1),
(y, 2),
(y, 3)]
我需要您返回:
[(v, 3),
(w, 7),
(x, 3),
(y, 3)]
连接可以返回第一个值或随机值。
new JavaPairRDD(rdd).reduceByKey((v1, v2) -> Math.max(v1, v2));
- Daniel de Paula[(v,(125,12)), (v, (130,15)), (w,(200,30)), (w,(250,40))]
,而不仅仅是一个值,并且您需要查找第一个元素的最大值结果,例如[(v, (130,15)),(w,(250,40))]
,该怎么办? - user2829319