Шаблоны запросов оповещений

На этой странице рассматриваются методы разработки SQL, которые выходят за рамки проверки порогового значения одного столбца.

Агрегирование оповещений

Агрегирование оповещений работает путем изменения исходного SQL-запроса Databricks SQL, присоединенного к оповещению. Оповещение упаковывает исходный текст запроса в общее табличное выражение (CTE) и выполняет в нем запрос агрегирования, чтобы агрегировать результат запроса.

Например, агрегирование оповещений, присоединенных к запросу с текстомSUM, означает, SELECT 1 AS column_name что при обновлении оповещения измененный SQL, который выполняется, будет: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q

Это означает, что исходный результат запроса (предварительно агрегированный) не может отображаться в пользовательском теле оповещения (с такими параметрами, как QUERY_RESULT_ROWS и QUERY_RESULT_COLS) всякий раз, когда есть агрегирование в оповещении. Вместо этого эти переменные будут отображать только окончательный результат запроса после агрегирования.

Оповещение по нескольким столбцам

Чтобы задать оповещение на основе нескольких столбцов запроса, запрос может реализовать логику генерации оповещений и вернуть логическое значение для активации оповещения. Рассмотрим пример.

SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data

Этот запрос возвращает 1, если drafts_count > 10000 and archived_count > 5000. Затем вы можете настроить срабатывание оповещения при значении 1.

Оповещение о представлениях метрик

Вы можете задать оповещение в представлении метрик, чтобы получать уведомления, когда значение метрик выходит за пределы ожидаемого диапазона. Оповещения о представлениях метрик работают так же, как оповещения в любом другом наборе данных. В запросе оповещения укажите представление метрик, используя его полностью определённое имя.