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

标签 java sorting apache-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 SQL“访问”数据的方法,然后使用 Spark 核心功能对它们进行排序。

希望对你有帮助!

FF

关于java - 如何在不使用 Spark SQL 的情况下对 Spark 中的数据帧进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741360/

相关文章:

java - 如何在 Spring MVC 中向拦截器注入(inject)属性

sql - 什么时候适合使用index_scan来获取已经排序的数据?

java - ImmutableSortedMap - 映射中的重复键

java.lang.NoClassDefFoundError : Could not initialize class when launching spark job via spark-submit in scala code 错误

scala - Apache Spark - dataset.dropDuplicates() 是否保留分区?

java - 数据库查询总是返回true?

java - 在 Java 中将字符串转换为日历对象

java - 在java中对二维数据结构进行排序

scala - 为什么 Spark DataSet 会丢失所有模式并只返回 byte[]?

java - JAVA 中的 Streams 聚合,这是一个好方法吗?