Поделиться через


ALTER TABLE СЕКЦИЯ

Область применения: флажок Databricks SQL флажок Databricks Runtime

Добавляет, удаляет, переименовывает или восстанавливает секции таблицы.

Управление секциями не поддерживается для таблиц Delta Lake.

Синтаксис

ALTER TABLE table_name
   { ADD PARTITION clause |
     DROP PARTITION clause |
     PARTITION SET LOCATION clause |
     RENAME PARTITION clause |
     RECOVER PARTITIONS clause }

Предложение ADD PARTITION

Добавляет в таблицу одну или несколько секций.

Синтаксис

ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]

Параметры

  • IF NOT EXISTS

    Необязательное предложение, направляюющее Azure Databricks, чтобы игнорировать инструкцию, если секция уже существует.

  • Предложение PARTITION

    Секция, которую нужно добавить. Ключи секций должны соответствовать структуре секций в таблице и быть связаны со значениями. Если такая секция уже существует, возникает ошибка, если не указано предложение IF NOT EXISTS.

  • LOCATION path

    path должен быть литералом STRING , представляющим необязательное расположение, указывающее на секцию.

    Если расположение не указано, расположение будет автоматически выведено из расположения таблицы и ключей секции.

    Если в указанном расположении уже есть файлы, они применяются для заполнения секции. Для этого они должны быть совместимы с таблицей data_source и ее настройками.

Предложение DROP PARTITION

Удаляет одну или несколько секций из таблицы, при необходимости удаляя все файлы в расположениях секций.

Синтаксис

DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]

Параметры

  • IF EXISTS

    Если указан параметр IF EXISTS, Azure Databricks будет игнорировать попытку удаления несуществующих секций. В противном случае удаление несуществующих секций создает ошибку.

  • Предложение PARTITION

    Указывает секцию, которую нужно удалить. Если секция идентифицирована частично, удаляется целый срез секций.

  • PURGE

    Если задано это предложение, каталог таблиц будет безвозвратно удалять данные секции, а не помещать их в папку корзины, даже если она настроена для этого каталога. Этот механизм применим только для управляемых таблиц. Он действует только при соблюдении следующих условий:

    файловая система поддерживает папку корзины; для каталога настроено перемещение удаляемой секции в папку корзины. В AWS S3 папка корзины отсутствует, поэтому это предложение не применяется.

    Нет необходимости удалять файлы вручную после удаления секций.

Предложение RENAME PARTITION

Заменяет ключи секции.

Синтаксис

from_partition_clause RENAME TO to_partition_clause

Параметры

  • from_partition_clause

    Определение секции, которую нужно переименовать.

  • to_partition_clause

    Новое определение для этой секции. Не должно существовать секции с указанными значениями ключей.

Предложение RECOVER PARTITIONS

Это предложение не применяется к таблицам Delta Lake.

Указывает Azure Databricks сканировать расположение таблицы и добавлять все файлы в таблицу, которые были добавлены непосредственно в файловую систему.

Синтаксис

RECOVER PARTITIONS

Параметры

нет

Предложение PARTITION SET LOCATION

Перемещает расположение секции.

Синтаксис

PARTITION clause SET LOCATION path

Параметры

  • Предложение PARTITION

    Определяет секцию, для которой будет изменено расположение.

  • LOCATION path

    path должен быть литералом STRING . Указывает новое расположение для секции.

    Файлы в исходном расположении не будут перемещаться в новое расположение.

Примеры

См . примеры ALTER TABLE.