Partitionera

Returnerar en ny DataFrame som partitionerats av de angivna partitioneringsuttrycken. Den resulterande dataramen är hashpartitionerad.

Syntax

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

Parameters

Parameter Type Beskrivning
numPartitions int kan vara en int för att ange målantalet partitioner eller en kolumn. Om det är en kolumn används den som den första partitioneringskolumnen. Om det inte anges används standardantalet partitioner.
cols str eller kolumn partitioneringskolumner.

Retur

DataFrame: Ompartitionerad DataFrame.

Exempel

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