Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks SQL
Позволяет выполнить одно из следующих действий:
- Добавление, изменение или удаление расписания или триггера для обновления существующей потоковой таблицы. Если расписания или триггера нет, объект необходимо обновить вручную, чтобы отразить последние данные.
- Добавление, изменение или удаление фильтра строк для существующей потоковой таблицы.
- Установка или снятие тегов для существующей потоковой таблицы.
- Измените свойства столбца для существующей потоковой таблицы, включая маски, теги и комментарии.
Чтобы добавить или изменить комментарий к таблице потоковой передачи, используйте COMMENT ON.
Примечание.
Изменение созданного конвейером набора данных таким образом, что противоречит определению SQL, может привести к отмене некоторых изменений. См . статью "Использование ALTER команд с декларативными конвейерами Spark Lakeflow".
Синтаксис
ALTER STREAMING TABLE table_name
{
{ ADD | ALTER } schedule
DROP SCHEDULE |
ALTER COLUMN column_clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause |
}
schedule
{ SCHEDULE [ REFRESH ] schedule_clause |
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }
schedule_clause
{ EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
CRON cron_string [ AT TIME ZONE timezone_id ] }
column_clause
column_identifier
{ COMMENT clause |
SET MASK clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Параметры
-
Имя потоковой таблицы для изменения её определения. Имя не должно содержать временную спецификацию.
расписание
Добавьте или измените
SCHEDULETRIGGERинструкцию в таблице.Примечание.
Невозможно изменить расписание потоковой таблицы, созданной с помощью декларативных конвейеров Lakeflow Spark, с помощью этой команды. Используйте редактор конвейера.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Чтобы запланировать периодические обновления, используйте синтаксис
EVERY. Если указан синтаксисEVERY, то потоковая таблица или материализованное представление периодически обновляется с заданным интервалом на основе указанного значения, напримерHOUR,HOURS,DAY,DAYS,WEEKилиWEEKS. В следующей таблице перечислены принятые целые значения дляnumber.Единица времени Целое значение HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= W <= 8 Примечание.
Семантические и множественные формы включенной единицы времени семантики.
CRON cron_string [ AT TIME ZONE timezone_id ]Чтобы запланировать обновление, используя значение quartz cron . Допустимые time_zone_values принимаются. Функция
AT TIME ZONE LOCALне поддерживается.Выражение cron использует шесть полей, разделенных пробелами, в порядке:
seconds minutes hours day-of-month month day-of-weekИспользуйте?либо дляday-of-monthтого,day-of-weekчтобы оставить его неопределенным.Например,
SCHEDULE CRON '0 0 0 * * ?' AT TIME ZONE 'UTC'обновляется ежедневно в полночь в формате UTC.Если
AT TIME ZONEнет, используется часовой пояс сеанса. ЕслиAT TIME ZONEотсутствует, а часовой пояс сеанса не задан, возникает ошибка.SCHEDULEсемантически эквивалентенSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Задает таблицу для обновления при обновлении вышестоящего источника данных не более одного раза в минуту. Задайте значение, для
AT MOST EVERYкоторых требуется по крайней мере минимальное время между обновлениями.Исходные источники данных должны быть внешними или управляемыми таблицами Delta (включая материализованные представления или потоковые таблицы), или управляемыми представлениями, зависимости которых ограничены поддерживаемыми типами таблиц.
Включение событий файлов может повысить производительность триггеров и увеличить некоторые ограничения на обновления триггеров.
Это
trigger_intervalинструкция INTERVAL , которая составляет не менее 1 минуты.TRIGGER ON UPDATEимеет следующие ограничения- При использовании TRIGGER ON UPDATE не более 10 вышестоящих источников данных на таблицу потоковой передачи.
- С помощью TRIGGER ON UPDATEможно указать не более 1000 потоковых таблиц или материализованных представлений.
- Предложение
AT MOST EVERYпо умолчанию равно 1 минуте и не может быть меньше 1 минуты.
DROP SCHEDULEУдаляет расписание из таблицы потоковой передачи.
ALTER COLUMN clauseСм. раздел ALTERCOLUMN.
пункт
SETROW FILTERприменяется:
Databricks SQL
Databricks Runtime 16.2 и вышеДобавляет функцию фильтра строк в таблицу потоковой передачи. Все последующие запросы к таблице потоковой передачи получают подмножество строк, где функция оценивает логическое
TRUEзначение. Это может быть полезно для точного контроля доступа, где функция может проверить удостоверение или членство в группах вызывающего пользователя, чтобы определить, следует ли фильтровать определенные строки.Фильтры строк, добавленные после создания, распространяются только на подчиненные таблицы после следующего обновления. Для непрерывных конвейеров это требует перезапуска конвейера.
DROP ROW FILTERприменяется:
Databricks SQL
Databricks Runtime 16.2 и вышеУдаляет фильтр строк в потоковой таблице, если таковой есть. Будущие запросы возвращают все строки из таблицы без автоматической фильтрации.
SET TAGS ( { tag_name = tag_value } [, ...] )Применяется к:
Databricks SQL
Databricks Runtime 16.3 и более поздних версийПримените теги к таблице потока данных. Вам необходимо иметь
APPLY TAGразрешение на добавление тегов в таблицу стриминга.tag_nameЛитерал
STRING. В таблице потоковых данныхtag_nameдолжен быть уникальным.tag_valueЛитерал
STRING.
UNSET TAGS ( tag_name [, ...] )Применяется к:
Databricks SQL
Databricks Runtime 16.3 и более поздних версийУдалите теги из таблицы потоковой передачи. Необходимо иметь
APPLY TAGразрешение на удаление тегов из потоковой таблицы.tag_nameЛитерал
STRING. В таблице потоковых данныхtag_nameдолжен быть уникальным.
Предложение ALTER COLUMN
Изменяет свойство или расположение столбца.
Синтаксис
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Параметры
-
Имя столбца, который требуется изменить.
COMMENT commentприменяется:
Databricks SQL
Databricks Runtime 16.2 и вышеИзменяет описание столбца
column_name.commentдолжен быть литеральным значениемSTRING.SETПредложение MASKприменяется:
Databricks SQL
Databricks Runtime 16.2 и вышеДобавляет функцию маски столбца для анонимизации конфиденциальных данных. Все последующие запросы из этого столбца получат результат оценки этой функции по столбцу вместо исходного значения столбца. Это может быть полезно для точного контроля доступа, когда функция может проверить идентификацию или членство в группах вызывающего пользователя, чтобы определить, следует ли скрыть это значение.
Маски столбцов, добавленные после создания, распространяются только на подчиненные таблицы после следующего обновления. Для непрерывных конвейеров это требует перезапуска конвейера.
DROP MASKприменяется:
Databricks SQL
Databricks Runtime 16.2 и вышеУдаляет маску для этого столбца, если она имеется. Будущие запросы из этого столбца получат исходные значения столбца.
SET TAGS ( { tag_name = tag_value } [, ...] )Применяется к:
Databricks SQL
Databricks Runtime 16.3 и более поздних версийПримените теги к столбцу. Необходимо иметь
APPLY TAGразрешение на добавление тегов в столбец.tag_name
Литерал
STRING. Элементtag_nameдолжен быть уникальным в таблице или столбце.tag_value
Литерал
STRING.
UNSET TAGS ( tag_name [, ...] )Применяется к:
Databricks SQL
Databricks Runtime 16.3 и более поздних версийУдалите указанные теги из столбца. Необходимо иметь
APPLY TAGразрешение на удаление тегов из столбца.tag_name
Литерал
STRING. Элементtag_nameдолжен быть уникальным в таблице или столбце.
Примеры
-- Adds a schedule to refresh the streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
ADD TRIGGER ON UPDATE;
-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;
-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE EVERY 1 HOUR;
-- Alters the schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
DROP SCHEDULE;
-- Adds a column comment
> ALTER STREAMING TABLE my_st
ALTER COLUMN column_name COMMENT 'test'