我正在使用pyspark(Python 2.7.9 / Spark 1.3.1)并且有一个数据帧GroupObject,我需要按降序对其进行过滤和排序 . 试图通过这段代码实现它 .
group_by_dataframe.count().filter("`count` >= 10").sort('count', ascending=False)
但它会引发以下错误 .
sort() got an unexpected keyword argument 'ascending'
在PySpark 1.3中, sort 方法不采用升序参数 . 您可以使用 desc 方法代替:
sort
desc
from pyspark.sql.functions import col (group_by_dataframe .count() .filter("`count` >= 10") .sort(col("count").desc()))
或 desc 功能:
from pyspark.sql.functions import desc (group_by_dataframe .count() .filter("`count` >= 10") .sort(desc("count"))
两种方法都可以与Spark> = 1.3(包括Spark 2.x)一起使用 .
使用 orderBy :
group_by_dataframe.count().filter("`count` >= 10").orderBy('count', ascending=False)
http://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html
2 回答
在PySpark 1.3中,
sort
方法不采用升序参数 . 您可以使用desc
方法代替:或
desc
功能:两种方法都可以与Spark> = 1.3(包括Spark 2.x)一起使用 .
使用 orderBy :
http://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html