Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne un nouveau DataFrame partitionné par les expressions de partitionnement données données. Le DataFrame résultant est partitionné.
Syntaxe
repartitionByRange(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")
Paramètres
| Paramètre | Type | Description |
|---|---|---|
numPartitions |
int | peut être un int pour spécifier le nombre cible de partitions ou d’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 par défaut de partitions est utilisé. |
cols |
str ou colonne | partitionnement de colonnes. |
Retours
DataFrame: DataFrame repartitionné.
Remarques
Au moins une expression partition par doit être spécifiée. Lorsqu’aucun ordre de tri explicite n’est spécifié, « les valeurs null croissants commencent par » est supposé.
En raison des raisons de performances, cette méthode utilise l’échantillonnage pour estimer les plages. Par conséquent, la sortie peut ne pas être cohérente, car l’échantillonnage peut retourner des valeurs différentes. La taille de l’exemple peut être contrôlée par la configuration spark.sql.execution.rangeExchange.sampleSizePerPartition.
Exemples
from pyspark.sql import functions as sf
spark.createDataFrame(
[(14, "Tom"), (23, "Alice"), (16, "Bob")], ["age", "name"]
).repartitionByRange(2, "age").select(
"age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14| Tom| 0|
# | 16| Bob| 0|
# | 23|Alice| 1|
# +---+-----+--------------------+