ALTER STREAMING QUERY

ALTER STREAMING QUERY изменяет настройки потоковых запросов, а также управляет их состоянием: запуском и остановкой.

Синтаксис

ALTER STREAMING QUERY [IF EXISTS] <query_name> SET (
    <key1> = <value1>,
    <key2> = <value2>,
    ...
)

Параметры

  • IF EXISTS — не выводить ошибку, если потокового запроса не существует.
  • query_name — имя потокового запроса, подлежащего изменению.
  • SET (<key> = <value>) — список настроек потокового запроса, которые нужно обновить, опционально.

Изменение параметров запроса

Синтаксис:

ALTER STREAMING QUERY [IF EXISTS] <query_name> SET (<key> = <value>)

Доступные параметры:

  • RUN = (TRUE|FALSE) — запустить или остановить запрос.
  • RESOURCE_POOL = <resource_pool_name> — имя пула ресурсов, в котором будет выполняться запрос.

При выполнении SET (RUN = TRUE) смещения чтения из топика и состояния агрегационных функций восстанавливаются из чекпоинта. При отсутствии чекпоинта чтение начинается с самых свежих данных.

Примеры изменения параметров запроса см. ниже.

Разрешения

Для работы с потоковыми запросами требуется разрешение ALTER SCHEMA, пример выдачи такого разрешения для запроса my_streaming_query:

GRANT ALTER SCHEMA ON my_streaming_query TO `user@domain`

Примеры

Изменение параметров

Остановка запроса my_streaming_query:

ALTER STREAMING QUERY my_streaming_query SET (
    RUN = FALSE
)

Запуск запроса my_streaming_query в пуле ресурсов my_resource_pool:

ALTER STREAMING QUERY my_streaming_query SET (
    RUN = TRUE,
    RESOURCE_POOL = my_resource_pool
)

Статус запроса

Текущий статус запроса доступен в колонке Status системной таблицы .sys/streaming_queries:

SELECT
    Path,
    Status,
    Text,
    Run
FROM
    `.sys/streaming_queries`

Возможные значения статуса:

  1. CREATING — запрос создаётся после выполнения команды CREATE STREAMING QUERY.
  2. CREATED — запрос создан, но не запущен (например, при указании RUN = FALSE).
  3. STARTING — запрос запускается.
  4. RUNNING — запрос выполняется.
  5. SUSPENDED — запрос приостановлен из-за внутренних ошибок. Система автоматически повторит запуск.
  6. STOPPING — запрос останавливается по команде ALTER STREAMING QUERY ... SET (RUN = FALSE).
  7. STOPPED — запрос остановлен.

Гарантируется, что на момент успешного завершения DDL для создания или изменения потокового запроса, статус будет CREATED, STARTING, RUNNING, STOPPED или SUSPENDED в зависимости от настройки RUN = (TRUE|FALSE) и успешности запуска запроса.

Примеры обработки данных в других форматах приведены в статье Форматы данных при чтении/записи из топиков. Подробнее о возможностях и ограничениях потоковых запросов см. в документации.

См. также

Предыдущая
Следующая