当只有SortByKey作为选项时,如何按Rd2对Rdd [(Int,(val1,val2))]进行排序?

时间:2018-09-13 18:58:21

标签: scala sorting apache-spark

我有一个Rdd[(Int, (val1, val2))],我想按val2进行排序,但是唯一可用的选项是SortByKey。 仅在旧版scala中可用SortBy吗? 除了将其收集到驱动程序之外,还有其他选择吗?

在代码中,我只做

val nonslack = slacks.filter(x=> Vlts.contains(x._1))

其中VltsArray[Int]slacksrdd从文件中读取。

1 个答案:

答案 0 :(得分:0)

RDD中有一个sortBy:

val rdd = spark.sparkContext.parallelize(Seq(("one", ("one" -> 1)), ("two", ("two" -> 2)), ("three", ("three" -> 3))))

rdd.sortBy(_._2._2).collect().foreach(println(_))