如何在不使用 Spark SQL 的情况下对 Spark 中的数据框进行排序?

How to sort dataframe in Spark without using Spark SQL ?

我现在正在使用 Spark,但我发现在 Spark SQL 中使用 ORDER BY 对 DataFrame 进行排序非常慢。那么如何在没有 Spark SQL 的情况下对 DataFrame 进行排序?

我不确定我是否完全理解您的需求。

无论如何,如果你想对一个 DF 进行排序,你可以使用 sortBy(或者在 (K,V) 的情况下使用 sortByKey)

例如,如果我们假设有一个 DF(在本例中来自 Spark SQL),我们可以这样排序:

val sqlResult = sqlContext.sql("select first_column, second_column from logs").toDF()
val result = sqlResult.sortBy(x=>x._1) // first column sorting

如前所述,您可以对任何 DF 进行排序,但我只想展示另一种使用 Spark "access" 数据的方法 SQL,然后使用 Spark 核心功能对它们进行排序。

希望对您有所帮助!

FF