repartitionById

지정된 분할 식으로 분할된 새 DataFrame을 반환합니다. 결과 DataFrame은 열 식별자에 의해 분할됩니다.

문법

repartitionById(numPartitions: int, *cols: "ColumnOrName")

매개 변수

매개 변수 유형 설명
numPartitions int 파티션의 대상 수입니다.
cols str 또는 Column 열을 분할합니다.

Returns

DataFrame: 데이터 프레임을 다시 분할했습니다.

Notes

하나 이상의 파티션별 식을 지정해야 합니다. 이는 배포에서 다시 분할하는 것과 유사하지만 각 파티션 내의 행 순서를 유지합니다.

실험적 API입니다.

예제

from pyspark.sql import functions as sf
spark.createDataFrame(
    [(14, "Tom"), (23, "Alice"), (16, "Bob"), (18, "Alice"), (21, "Alice")],
    ["age", "name"]
).repartitionById(2, "name").select(
    "age", "name", sf.spark_partition_id()
).show()
# +---+-----+--------------------+
# |age| name|SPARK_PARTITION_ID()|
# +---+-----+--------------------+
# | 14|  Tom|                   0|
# | 23|Alice|                   1|
# | 18|Alice|                   1|
# | 21|Alice|                   1|
# | 16|  Bob|                   0|
# +---+-----+--------------------+