Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает новый кадр данных, секционированные заданными выражениями секционирования. Результирующий кадр данных секционирован.
Синтаксис
repartitionByRange(numPartitions: Union[int, "ColumnOrName"], *cols: "ColumnOrName")
Параметры
| Параметр | Тип | Описание |
|---|---|---|
numPartitions |
int | может быть int, чтобы указать целевое число секций или столбец. Если это столбец, он будет использоваться в качестве первого столбца секционирования. Если не указано, используется число секций по умолчанию. |
cols |
str или Column | секционирование столбцов. |
Возвраты
DataFrame: пересекуемый кадр данных.
Примечания
Необходимо указать по крайней мере одно выражение по секциям. Если явный порядок сортировки не указан, предполагается,что предполагается значение null.
Из-за причин производительности этот метод использует выборку для оценки диапазонов. Поэтому выходные данные могут не совпадать, так как выборка может возвращать разные значения. Размер образца можно контролировать с помощью конфигурации spark.sql.execution.rangeExchange.sampleSizePerPartition.
Примеры
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|
# +---+-----+--------------------+