我的问题基于this question。我有一个火花对RDD(密钥,计数):[(a,1), (b,2), (c,1), (d,3)]
。
如何找到具有最高计数和实际计数的密钥?
答案 0 :(得分:5)
(sc
.parallelize([("a",1), ("b",5), ("c",1), ("d",3)])
.max(key=lambda x:x[1]))
确实会返回('b', 5)
,而不仅仅是5
。 max
的第一个参数是用于比较的键(在此明确说明),但是max仍然返回整个值,这里是完整的元组。
答案 1 :(得分:0)
val myRDD = sc.parallelize(Array(
| | ("a",1),
| | ("b",5),
| | ("c",1),
| | ("d",3))).sortBy(_._2,false).take(1)
按降序排列值,并采用最上面的元素。