Aller au contenu principal

repartition

Renvoie un nouveau DataFrame partitionné par les expressions de partitionnement données. Le DataFrame résultant est partitionné par hachage.

Syntaxe

repartition(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")

parameter

parameter

Type

Description

numPartitions

int

peut être un entier pour spécifier le nombre cible de partitions ou une colonne. S'il s'agit d'une colonne, elle sera utilisée comme première colonne de partitionnement. S'il n'est pas spécifié, le nombre de partitions default est utilisé.

cols

str or Column

colonnes de partitionnement.

parameter

Type

Description

numPartitions

int

peut être un entier pour spécifier le nombre cible de partitions ou une colonne. S'il s'agit d'une colonne, elle sera utilisée comme première colonne de partitionnement. S'il n'est pas spécifié, le nombre de partitions default est utilisé.

cols

str or Column

colonnes de partitionnement.

Renvoie

DataFrame: DataFrame repartitionné.

Exemples

Python
from pyspark.sql import functions as sf
df = spark.range(0, 64, 1, 9).withColumn(
"name", sf.concat(sf.lit("name_"), sf.col("id").cast("string"))
).withColumn(
"age", sf.col("id") - 32
)
df.repartition(10).select(
sf.spark_partition_id().alias("partition")
).distinct().sort("partition").show()
# +---------+
# |partition|
# +---------+
# | 0|
# ...
# | 9|
# +---------+

df.repartition(7, "age").select(
sf.spark_partition_id().alias("partition")
).distinct().sort("partition").show()
# +---------+
# |partition|
# +---------+
# | 0|
# ...
# | 6|
# +---------+