Aller au contenu principal

repartitionById

Renvoie un nouveau DataFrame partitionné par les expressions de partitionnement données. Le DataFrame résultant est partitionné par l'identifiant de colonne.

Syntaxe

repartitionById(numPartitions: int, *cols: "ColumnOrName")

parameter

parameter

Type

Description

numPartitions

int

le nombre cible de partitions.

cols

str or Column

colonnes de partitionnement.

parameter

Type

Description

numPartitions

int

le nombre cible de partitions.

cols

str or Column

colonnes de partitionnement.

Renvoie

DataFrame: DataFrame repartitionné.

Notes

Au moins une expression de partitionnement doit être spécifiée. Ceci est similaire à une répartition dans la distribution, mais préserve l'ordre des lignes au sein de chaque partition.

Il s'agit d'une API expérimentale.

Exemples

Python
from pyspark.sql import functions as sf
spark.createDataFrame(
[(14, "Tom"), (23, "Alice"), (16, "Bob"), (18, "Alice"), (21, "Alice")],
["age", "name"]
).repartitionById(2, "name").select(
"age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14| Tom| 0|
# | 23|Alice| 1|
# | 18|Alice| 1|
# | 21|Alice| 1|
# | 16| Bob| 0|
# +---+-----+--------------------+