如何在Scala中按给定的列索引对Array [Row]进行排序

时间:2016-08-03 09:05:58

标签: scala sorting apache-spark dataframe apache-spark-sql

如何按Scala中的给定列索引对Array[Row]进行排序?

我正在使用RDD[Row].collect()给我array[Row],但我想根据给定的列索引对其进行排序。

我已经使用了快速排序逻辑并且它正在工作,但是有太多for循环和所有。

我想使用Scala内置API,它可以用最少量的代码完成此任务。

1 个答案:

答案 0 :(得分:1)

在收集它之前对Dataframe 进行排序会更有效率 - 如果你收集它,你将失去分布式(和并行)计算。例如,您可以使用Dataframe的sort - 按列升序排列" col1":

val sorted = dataframe.sort(asc("col1"))