Freigeben über


Repartition

Gibt einen neuen DataFrame zurück, der von den angegebenen Partitionierungsausdrücken partitioniert wird. Der resultierende DataFrame ist partitioniert.

Syntax

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

Parameter

Parameter Typ Beschreibung
numPartitions int kann ein Int sein, um die Zielanzahl von Partitionen oder eine Spalte anzugeben. Wenn es sich um eine Spalte handelt, wird sie als erste Partitionierungsspalte verwendet. Wenn nicht angegeben, wird die Standardanzahl der Partitionen verwendet.
cols str oder Column Partitionieren von Spalten.

Rückkehr

DataFrame: DataFrame neu partitioniert.

Beispiele

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|
# +---------+