パーティション内でのソート
指定された列でソートされた各パーティションを含む新しいDataFrameを返します。
構文
sortWithinPartitions(*cols: Union[int, str, Column, List[Union[int, str, Column]]], **kwargs: Any)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| int、str、list、またはColumn(省略可能) | 並べ替えの基準となる列、列名、または列の順序番号のリスト。 |
| bool またはリスト、オプション、デフォルト値 True | ブール値、またはブール値のリスト。 昇順または降順で並べ替える。複数の並べ替え順序を指定するには、リストを指定してください。リストが指定されている場合、リストの長さは |
戻り値
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|
# +---+-----+