sortWithinPartitions
Renvoie un nouveau DataFrame, chaque partition étant triée par la ou les colonnes spécifiées.
Syntaxe
sortWithinPartitions(*cols: Union[int, str, Column, List[Union[int, str, Column]]], **kwargs: Any)
parameter
parameter | Type | Description |
|---|---|---|
| int, str, liste ou Column, facultatif | liste de noms de colonne ou d'ordinaux de colonne à trier par. |
| bool ou liste, facultatif, default True | booléen ou liste de booléens. Trier par ordre croissant ou décroissant. Spécifiez une liste pour plusieurs ordres de tri. Si une liste est spécifiée, la longueur de la liste doit être égale à la longueur de |
Renvoie
DataFrame: DataFrame trié par partitions.
Notes
Un ordinal de colonne start à partir de 1, ce qui est différent du __getitem__ basé sur 0. Si un ordinal de colonne est négatif, cela signifie un tri décroissant.
Exemples
L’exemple suivant utilise la fonction sortWithinPartitions avec la fonctioncoalesce pour trier les lignes du cadre de données au sein d’une partition.
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|
# +---+-----+