Repartition
指定されたパーティショニング式に基づいてパーティション分割された新しいDataFrameを返します。結果として得られるDataFrameはハッシュパーティション化されています。
構文
repartition(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| int | パーティションの目標数を指定するための整数、または列を指定できます。それが列である場合、最初のパーティショニング列として使用されます。指定がない場合は、デフォルトのパーティション数が使用されます。 |
| 文字列または列 | パーティショニング列。 |
戻り値
DataFrame: 再分割されたDataFrame 。
例
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|
# +---------+