Я пробовал, df.orderBy("col1").show(10)
но сортировка по возрастанию. df.sort("col1").show(10)
также сортирует в порядке убывания. Я посмотрел на stackoverflow, и все ответы, которые я нашел, были устаревшими или относились к RDD . Я хотел бы использовать собственный фрейм данных в Spark.
137
Ответы:
Вы также можете отсортировать столбец, импортировав sql-функции искры
Или
импорт sqlContext.implicits._
Или
источник
asc
ключевое слово не нужно:..orderBy("col1", "col2")
.Это
org.apache.spark.sql.DataFrame
дляsort
метода:Обратите внимание
$
и.desc
внутриsort
столбца для сортировки результатов.источник
import org.apache.spark.sql.functions._
аimport sqlContext.implicits._
также получить много приятных функций.df.sort($"Time1", $"Time2".desc) SyntaxError: invalid syntax
у символа $Только PySpark
Я наткнулся на этот пост, когда хотел сделать то же самое в PySpark. Самый простой способ - просто добавить параметр ascending = False:
Ссылка: http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.orderBy
источник
источник
источник
В случае Java:
Если мы используем
DataFrames
при применении объединений (здесь Внутреннее соединение), мы можем сортировать (в ASC) после выбора отдельных элементов в каждом DF как:где
e_id
- столбец, к которому применяется объединение при сортировке по зарплате в ASC.Кроме того, мы можем использовать Spark SQL как:
где
источник