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, чтобы игнорировать инструкцию, если секция уже существует.
-
Секция, которую нужно добавить. Ключи секций должны соответствовать структуре секций в таблице и быть связаны со значениями. Если такая секция уже существует, возникает ошибка, если не указано предложение
IF NOT EXISTS
. LOCATION path
path
должен быть литераломSTRING
, представляющим необязательное расположение, указывающее на секцию.Если расположение не указано, расположение будет автоматически выведено из расположения таблицы и ключей секции.
Если в указанном расположении уже есть файлы, они применяются для заполнения секции. Для этого они должны быть совместимы с таблицей
data_source
и ее настройками.
Предложение DROP PARTITION
Удаляет одну или несколько секций из таблицы, при необходимости удаляя все файлы в расположениях секций.
Синтаксис
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
Параметры
IF EXISTS
Если указан параметр
IF EXISTS
, Azure Databricks будет игнорировать попытку удаления несуществующих секций. В противном случае удаление несуществующих секций создает ошибку.-
Указывает секцию, которую нужно удалить. Если секция идентифицирована частично, удаляется целый срез секций.
PURGE
Если задано это предложение, каталог таблиц будет безвозвратно удалять данные секции, а не помещать их в папку корзины, даже если она настроена для этого каталога. Этот механизм применим только для управляемых таблиц. Он действует только при соблюдении следующих условий:
файловая система поддерживает папку корзины; для каталога настроено перемещение удаляемой секции в папку корзины. В AWS S3 папка корзины отсутствует, поэтому это предложение не применяется.
Нет необходимости удалять файлы вручную после удаления секций.
Предложение RENAME PARTITION
Заменяет ключи секции.
Синтаксис
from_partition_clause RENAME TO to_partition_clause
Параметры
-
Определение секции, которую нужно переименовать.
-
Новое определение для этой секции. Не должно существовать секции с указанными значениями ключей.
Предложение RECOVER PARTITIONS
Это предложение не применяется к таблицам Delta Lake.
Указывает Azure Databricks сканировать расположение таблицы и добавлять все файлы в таблицу, которые были добавлены непосредственно в файловую систему.
Синтаксис
RECOVER PARTITIONS
Параметры
нет
Предложение PARTITION SET LOCATION
Перемещает расположение секции.
Синтаксис
PARTITION clause SET LOCATION path
Параметры
-
Определяет секцию, для которой будет изменено расположение.
LOCATION path
path
должен быть литераломSTRING
. Указывает новое расположение для секции.Файлы в исходном расположении не будут перемещаться в новое расположение.
Примеры
См . примеры ALTER TABLE.