如何获取每个值的rdd的n个顶级元素?

时间:2018-07-01 07:51:33

标签: scala apache-spark rdd

我通过以下方式创建了键/值的RDD:

RDD[(String, Int)]: rdd.map(row => row.split(1) -> 1).reduceByKey(_ + _)

如何获取基于值的前五个元素?

1 个答案:

答案 0 :(得分:2)

您可以使用rdd.top来避免完整的rdd:

rdd.top(5)(Ordering[Int].on(_._2))

这将定义值的顺序,并在rdd上传递一次O(n),以获取每个值的前5个项。