在 PySpark 中按降序排序

新手上路,请多包涵

我正在使用 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'

原文由 rclakmal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 701
2 个回答

在 PySpark 1.3 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)一起使用。

原文由 zero323 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题