Używam pyspark (Python 2.7.9 / Spark 1.3.1) i mam Dataframe GroupObject, którą muszę filtrować i sortować w kolejności malejącej. Próbuję to osiągnąć za pomocą tego fragmentu kodu.
group_by_dataframe.count().filter("`count` >= 10").sort('count', ascending=False)
Ale generuje następujący błąd.
sort() got an unexpected keyword argument 'ascending'
python
apache-spark
dataframe
pyspark
apache-spark-sql
rclakmal
źródło
źródło
W Pyspark 2.4.4
1) group_by_dataframe.count().filter("`count` >= 10").orderBy('count', ascending=False) 2) from pyspark.sql.functions import desc group_by_dataframe.count().filter("`count` >= 10").orderBy('count').sort(desc('count'))
Nie ma potrzeby importowania w 1) i 1) jest krótkie i łatwe do odczytania,
więc wolę 1) powyżej 2)
źródło
możesz również użyć groupBy i orderBy w następujący sposób
dataFrameWay = df.groupBy("firstName").count().withColumnRenamed("count","distinct_name").sort(desc("count"))
źródło