Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает новый кадр данных с точными numPartitions секциями.
Синтаксис
coalesce(numPartitions: int)
Параметры
| Параметр | Тип | Описание |
|---|---|---|
numPartitions |
int | укажите целевое число секций. |
Возвраты
DataFrame
Примечания
Как и при объединениях, определенных в RDD, эта операция приводит к узкой зависимости, например, если вы переходите от 1000 секций до 100 секций, то вместо каждой из 100 новых секций будет требоваться 10 из текущих секций. Если запрашивается большее количество секций, оно будет оставаться в текущем количестве секций.
Однако если вы выполняете резкое объединение, например числоpartitions = 1, это может привести к тому, что вычисления выполняются на меньшем количестве узлов, чем вам нравится (например, один узел в случае numPartitions = 1). Чтобы избежать этого, можно вызвать повторную часть(). Это добавит шаг перетасовки, но означает, что текущие вышестоящие секции будут выполняться параллельно (независимо от текущего секционирования).
Примеры
from pyspark.sql import functions as sf
spark.range(0, 10, 1, 3).coalesce(1).select(
sf.spark_partition_id().alias("partition")
).distinct().sort("partition").show()
# +---------+
# |partition|
# +---------+
# | 0|
# +---------+