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