我有一个Rdd[(Int, (val1, val2))]
,我想按val2进行排序,但是唯一可用的选项是SortByKey
。
仅在旧版scala
中可用SortBy吗?
除了将其收集到驱动程序之外,还有其他选择吗?
在代码中,我只做
val nonslack = slacks.filter(x=> Vlts.contains(x._1))
其中Vlts
是Array[Int]
,slacks
是rdd
从文件中读取。
答案 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(_))