メインコンテンツまでスキップ

パーティション内でのソート

指定された列でソートされた各パーティションを含む新しいDataFrameを返します。

構文

sortWithinPartitions(*cols: Union[int, str, Column, List[Union[int, str, Column]]], **kwargs: Any)

パラメーター

パラメーター

Type

説明

cols

int、str、list、またはColumn(省略可能)

並べ替えの基準となる列、列名、または列の順序番号のリスト。

ascending

bool またはリスト、オプション、デフォルト値 True

ブール値、またはブール値のリスト。 昇順または降順で並べ替える。複数の並べ替え順序を指定するには、リストを指定してください。リストが指定されている場合、リストの長さはcolsの長さと等しくなければなりません。

戻り値

DataFrame: パーティションごとにソートされたDataFrame 。

注意

列の序数は 1 から始まりますが、これは 0 から始まる__getitem__とは異なります。列の順序値が負の値の場合、降順でソートすることを意味します。

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
df.sortWithinPartitions("age", ascending=False)
# DataFrame[age: bigint, name: string]

df.coalesce(1).sortWithinPartitions(1).show()
# +---+-----+
# |age| name|
# +---+-----+
# | 2|Alice|
# | 5| Bob|
# +---+-----+

df.coalesce(1).sortWithinPartitions(-1).show()
# +---+-----+
# |age| name|
# +---+-----+
# | 5| Bob|
# | 2|Alice|
# +---+-----+