如何对RDD进行排序?

时间:2017-06-27 10:27:29

标签: scala sorting apache-spark

我是Spark和Scala的初学者。这是我在3天后终于拥有的RDD:

((null,18),1)

((null,17),1)

((null,16),1)

((AK,14),2)

((Lo,6),1)

((Re,7),1)

((4x,10),1)

((null,12),4)

((Re,13),1)

((Mu,19),1)

((Lo,19),2)

((null,8),1)

((null,20),3)

我应该对这个RDD进行排序,以便将所有类型的值按升序组合在一起。例如:

((null,8),1)

((null,12),4)

((null,16),1)

((null,17),1)

((null,18),1)

((null,20),3)

((Lo,6),1)

((Lo,19),2)

我不知道在哪里看或如何开始。

1 个答案:

答案 0 :(得分:0)

可以使用RDD方法对sortBy进行排序,例如:

val rdd: RDD[((String, Int), Int)] = ??? // your RDD
rdd.sortBy(_._1) // sort by the first item in the pair

鉴于您正在使用对,您还可以使用sortByKey方法:

rdd.sortByKey()