Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
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не поддерживается.Если
AT TIME ZONEнет, используется часовой пояс сеанса. ЕслиAT TIME ZONEотсутствует, а часовой пояс сеанса не задан, возникает ошибка.SCHEDULEсемантически эквивалентенSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Это важно
Эта
TRIGGER ON UPDATEфункция доступна в бета-версии.Задает таблицу для обновления при обновлении вышестоящего источника данных не более одного раза в минуту. Задайте значение, для
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Это важно
Эта функция доступна в общедоступной предварительной версии.
Добавляет функцию фильтра строк в таблицу потоковой передачи. Все последующие запросы к таблице потоковой передачи получают подмножество строк, где функция оценивает логическое
TRUEзначение. Это может быть полезно для точного контроля доступа, где функция может проверить удостоверение или членство в группах вызывающего пользователя, чтобы определить, следует ли фильтровать определенные строки.Фильтры строк, добавленные после создания, распространяются только на подчиненные таблицы после следующего обновления. Для непрерывных конвейеров это требует перезапуска конвейера.
DROP ROW FILTERЭто важно
Эта функция доступна в общедоступной предварительной версии.
Удаляет фильтр строк в потоковой таблице, если таковой есть. Будущие запросы возвращают все строки из таблицы без автоматической фильтрации.
SET TAGS ( { tag_name = tag_value } [, ...] )Это важно
Эта функция доступна в общедоступной предварительной версии.
Примените теги к таблице потока данных. Вам необходимо иметь
APPLY TAGразрешение на добавление тегов в таблицу стриминга.tag_nameЛитерал
STRING. В таблице потоковых данныхtag_nameдолжен быть уникальным.tag_valueЛитерал
STRING.
UNSET TAGS ( tag_name [, ...] )Это важно
Эта функция доступна в общедоступной предварительной версии.
Удалите теги из таблицы потоковой передачи. Необходимо иметь
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Изменяет описание столбца
column_name.commentдолжен быть литеральным значениемSTRING.SETПредложение MASKДобавляет функцию маски столбца для анонимизации конфиденциальных данных. Все последующие запросы из этого столбца получат результат оценки этой функции по столбцу вместо исходного значения столбца. Это может быть полезно для точного контроля доступа, когда функция может проверить идентификацию или членство в группах вызывающего пользователя, чтобы определить, следует ли скрыть это значение.
Маски столбцов, добавленные после создания, распространяются только на подчиненные таблицы после следующего обновления. Для непрерывных конвейеров это требует перезапуска конвейера.
DROP MASKУдаляет маску для этого столбца, если она имеется. Будущие запросы из этого столбца получат исходные значения столбца.
SET TAGS ( { tag_name = tag_value } [, ...] )Примените теги к столбцу. Необходимо иметь
APPLY TAGразрешение на добавление тегов в столбец.tag_name
Литерал
STRING. Элементtag_nameдолжен быть уникальным в таблице или столбце.tag_value
Литерал
STRING.
UNSET TAGS ( tag_name [, ...] )Удалите указанные теги из столбца. Необходимо иметь
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'