如何获得spark rdd中的最大值并将其删除?

时间:2016-01-25 07:54:59

标签: apache-spark

有一个RDD对象:

//have some data in RDD[(Int, Int)] object
(1, 2)
(3, 2)
(2, 3)
(5, 4)
(2, 7)
(5, 2)
(5, 7)

我想获得最大密钥并将其删除,最大密钥为5,所以我想要的结果是:

//a new RDD object,RDD[(Int, Int)]
(1, 2)
(3, 2)
(2, 3)
(2, 7)
你可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您需要先对结果进行排序,然后使用RDD.max()获取最高值,最后执行filter以过滤除最高键以外的键。

您也可以将其注册为DataFrame并执行简单的SQL查询以获得结果。