1. ホーム
  2. python

[解決済み] Spark DataFrameのgroupByと降順ソート(pyspark)

2022-10-09 03:57:01

質問

私は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 メソッドを使うことができます。

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を含む)で使用することができます。