Поделиться через


Что такое оповещения Databricks SQL?

Оповещения Databricks SQL периодически выполняют запросы, оценивают определенные условия и отправляют уведомления, если условие выполнено. Вы можете настроить set предупреждения для мониторинга вашего бизнеса и отправки уведомлений, когда сообщаемые данные выходят за пределы ожидаемых значений. Планирование оповещения выполняет свой базовый запрос и проверяет критерии генерации оповещений. Это независимо от любого расписания, которое может существовать в базовом запросе.

Внимание

  • Оповещения, использующие запросы с parameters, применяют значение по умолчанию, указанное в редакторе SQL для каждого параметра.

Просмотр и упорядочивание оповещений

Используйте один из следующих вариантов для доступа к оповещениям:

  • Щелкните значокрабочей области рабочей области, чтобы просмотреть оповещения в папке домашней, они хранятся по умолчанию. Пользователи могут упорядочивать оповещения в папки в обозревателе рабочей области вместе с другими объектами Databricks.
  • Alerts Icon Щелкните оповещения на боковой панели, чтобы просмотреть страницу списка оповещений.

По умолчанию объекты сортируются в обратном хронологическом порядке. Вы можете изменить порядок list, щелкнув заголовки column. Щелкните вкладку "Все оповещения" в верхней части экрана, чтобы просмотреть все оповещения в рабочей области. Щелкните вкладку Мои оповещения, чтобы просмотреть оповещения, владельцем которых вы являетесь where.

  • Имя отображает строковое имя каждого оповещения.
  • Состояние отображает состояние оповещения: TRIGGERED, OK или UNKNOWN.
  • Последнее обновление отображает время или дату последнего обновления.
  • Время создания отображает дату и время создания оповещения.
    • TRIGGERED означает, что при последнем выполнении значение column в целевом запросе соответствует заданному условию и порогу. Если оповещение проверяет, не превышает ли значение "кошки" число 1500, оповещение будет срабатывать при каждом превышении числа 1500.
    • OK означает, что при последнем выполнении запроса значение column не соответствовало заданному условию и порогу. Это не означает, что оповещение не срабатывало ранее. Если значение "кошки" равно 1470, оповещение будет отображаться с состоянием OK.
    • Состояние UNKNOWN означает, что Databricks SQL не имеет достаточно данных для оценки критериев оповещения. Это состояние отображается немедленно после создания оповещения, пока запрос не выполнен. Вы также увидите этот статус, если в результатах запроса не было данных, либо если последний результат запроса не включает значение Column, которое вы настроили.

Создание оповещения

Выполните следующие действия, чтобы создать оповещение для одного запроса column.

  1. Выполните одно из следующих действий:

    • Щелкните значокновый на боковой панели и selectоповещение.
    • Нажмите кнопку Значок оповещений"Оповещения" на боковой панели и нажмите кнопку +Создать оповещение.
    • Щелкните Значок рабочей областирабочую область на боковой панели и нажмите кнопку "Создать оповещение".
  2. В поле "Запрос" найдите целевой запрос.

    Целевой запрос

    Чтобы оповещать о нескольких columns, необходимо изменить запрос. См . агрегаты оповещений.

  3. В поле условия триггера настройте оповещение.

    • Выпадающий список значение column управляет тем, какое поле вашего результата запроса оценивается. Условия генерации оповещений могут быть set в первом значении column в результатах запроса или set агрегирование во всех строках одной column, например СУММ или СРЕДНЕЕ.

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

    • Раскрывающийся список "Оператор" управляет применяемой логической операцией.

    • Значение порогового значения текстового ввода сравнивается со значением column с указанным условием.

    Условия триггера

  4. Нажмите кнопку "Предварительный просмотр", чтобы просмотреть оповещение и проверить, активируется ли оповещение с текущими данными.

  5. В поле Когда оповещение активируется, поле отправки уведомления, сколько уведомлений отправляется при активации оповещения:

    • Только один раз: отправляет уведомление, если состояние оповещения меняется с OK на TRIGGERED.
    • Каждый раз при оценке оповещения: отправляет уведомление при состоянии оповещения TRIGGERED независимо от состояния при предыдущей оценке.
    • Максимум каждые: отправляет уведомление при регистрации состоянии оповещения TRIGGERED в определенном интервале. Этот вариант позволяет не допустить спама уведомлениями для оповещений, которые срабатывают часто.

    Независимо от выбранного параметра уведомлений, вы будете получать уведомления при каждом изменении состояния с OK на TRIGGERED или с TRIGGERED на OK. Параметры расписания влияют на то, сколько уведомлений вы получите при сохранении состояния TRIGGERED для выполнений. Дополнительные сведения см. в разделе Частота уведомлений.

  6. В раскрывающемся списке Шаблон выберите шаблон:

    • Использовать шаблон по умолчанию: уведомление по оповещению представляет собой сообщение со ссылками на экран настройки оповещений и экран запроса.
    • Использовать пользовательский шаблон: уведомление по оповещению включает подробные сведения об оповещении.
      1. При этом отображается набор полей для ввода темы и текста. Допустимо любое статическое содержимое, и вы даже можете внедрять встроенные переменные шаблона.

        • ALERT_STATUS: состояние оцененного оповещения (строка).
        • ALERT_CONDITION: оператор условия оповещения (строка).
        • ALERT_THRESHOLD: пороговое значение оповещения (строка или число).
        • ALERT_COLUMN: имя column оповещения (в виде строки).
        • ALERT_NAME: имя оповещения (строка).
        • ALERT_URL: URL-адрес страницы оповещения (строка).
        • QUERY_NAME: связанное имя запроса (строка).
        • QUERY_URL: связанный URL-адрес страницы запроса (строка).
        • QUERY_RESULT_TABLE: код HTML результата запроса table (строка). Результаты ограничены первыми 100 строками.
        • QUERY_RESULT_VALUE: значение результата запроса (строка или число).
        • QUERY_RESULT_ROWS: строки результатов запроса (массив значений).
        • QUERY_RESULT_COLS: результат запроса columns (массив строк).

        Примером темы может быть Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}.

      2. Вы можете использовать HTML, чтобы форматировать сообщения в настраиваемом шаблоне. В шаблонах разрешены следующие теги и атрибуты:

        • Теги: <a>, <abbr>, <acronym><b><blockquote><body><br><code><div><em><h1><h2><h3><h4><h5><h6><head><hr><html><i><li><ol><p><span><strong><table><tbody><td><th><tr><ul>
        • Атрибуты: href (for <a>), заголовок (для <a>, <abbr>, <acronym>)
      3. Нажмите кнопку Предварительный просмотр, чтобы просмотреть результат.

        Внимание

        Предварительный просмотр полезен для проверки правильности отображения переменных шаблона. Это не точное представление содержимого конечного уведомления, так как каждое назначение уведомления может отображать уведомления по-разному.

      4. Нажмите кнопку Сохранить изменения.

  7. Щелкните Создать оповещение.

  8. Щелкните Добавить расписание.

    • Используйте раскрывающийся список для указания частоты, периода, времени начала и часового пояса. При желании, select установите флажок Показать синтаксис Cron, чтобы изменить расписание в синтаксисе Quartz Cron.
    • Выберите дополнительные параметры , чтобы отобразить необязательные параметры. Вы также можете выбрать следующее:
      • Имя расписания.
      • Хранилище SQL для управления запросом. По умолчанию хранилище SQL, используемое для выполнения нерегламентированного запроса, также используется для запланированного задания. Используйте этот необязательный параметр для select другого хранилища для выполнения запланированного запроса.
  9. Перейдите на вкладку "Назначения" в диалоговом окне "Добавление расписания ".

    Вкладка

    • Используйте раскрывающийся список, чтобы select доступное место назначения уведомлений. Или начните вводить имя пользователя, чтобы добавить пользователей.

    Внимание

    Если пропустить этот шаг, вы не будете получать уведомления при активации оповещения.

  10. Нажмите кнопку Создать. Сохраненные оповещения и сведения о уведомлениях отображаются на экране.

    Сохраненное оповещение

  11. Предоставление общего доступа к расписанию.

    • Справа от указанного расписания выберите меню Kebab кебаб и selectизмените разрешения расписания.
    • Выберите пользователя или группу из раскрывающегося меню в диалоговом окне.
    • Выберите из следующих разрешений расписания:
      • НЕТ РАЗРЕШЕНИЙ. Разрешения не предоставлены. Пользователи без разрешений не видят, что расписание существует, даже если они являются подписчиками или включены в указанные назначения уведомлений.
      • CAN VIEW: предоставляет разрешение на просмотр запланированных результатов выполнения.
      • CAN MANAGE RUN: предоставляет разрешение на просмотр запланированных результатов выполнения.
      • CAN MANAGE: предоставляет разрешение на просмотр, изменение и удаление расписаний. Это разрешение требуется для внесения изменений в интервал выполнения, update подписчика listи приостановки или отмены расписания.
      • IS OWNER: предоставляет все разрешения CAN MANAGE. Кроме того, для выполнения запросов панели мониторинга будет использоваться credentials владельца расписания. Только администратор рабочей области может изменить владельца.

    Внимание

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

  12. Предоставление общего доступа к оповещению.

    • Щелкните Кнопка в правом верхнем углу страницы.
    • Добавьте пользователей или группы, у которых должен быть доступ к оповещению.
    • Выберите соответствующий уровень разрешений, а затем нажмите кнопку "Добавить".

Внимание

CAN MANAGE предоставляет разрешение на просмотр, изменение и удаление расписаний. Это разрешение необходимо для внесения изменений в интервал выполнения, update назначения уведомления listи приостановки или отмены расписания.

Дополнительные сведения о уровнях разрешений генерации оповещений см. в разделе "Списки управления доступом оповещений".

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

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

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

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

Примечание.

Все условия триггера, связанные с агрегатами, не поддерживаются API.

Оповещение о нескольких случаях columns

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

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.

Периодичность уведомлений

Databricks SQL отправляет уведомления в выбранные назначения уведомлений всякий раз, когда обнаруживает, что состояние оповещения изменилось с OKTRIGGERED или наоборот. Рассмотрим этот пример, where оповещение настроено для запроса, запланированного для выполнения один раз в день. Ежедневное состояние оповещения отображается в следующих разделах table. До понедельника состояние оповещение было OK.

день Состояние оповещения
Понедельник ОК
Вторник ОК
Среда TRIGGERED
Четверг TRIGGERED
Пятница TRIGGERED
Суббота TRIGGERED
Воскресенье ОК

Если частота уведомлений от set до Just Once, Databricks SQL отправляет уведомление в среду, когда состояние изменяется с OK на TRIGGERED и вновь в воскресенье, когда оно переключается обратно. Оповещения не отправляются в четверг, пятницу и субботу, если только вы явно не настроите такую отправку, так как состояние оповещения не изменяется в эти дни.

Настройка разрешений оповещений и владение оповещениями

Для общего доступа к запросам необходимо иметь по крайней мере разрешение CAN MANAGE. Уровни разрешений генерации оповещений см. в разделе "Списки управления доступом для оповещений".

  1. На боковой панели нажмите кнопку "Оповещения".

  2. Щелкните оповещение.

  3. Кнопка Нажмите кнопку в правом верхнем углу, чтобы открыть диалоговое окно "Общий доступ".

    Управление разрешениями оповещений

  4. Найдите и select группы и пользователей, затем назначьте уровень доступа.

  5. Нажмите кнопку Добавить.

Передача прав владения оповещением

При сохранении оповещения вы становитесь владельцем оповещения. Если владелец оповещения удаляется из рабочей области, у оповещения больше нет владельца. Пользователь администратора рабочей области может передать права владения оповещение другому пользователю. Субъекты-службы и группы не могут быть назначены владельцем оповещения. Вы также можете передать владение с помощью API разрешений.

  1. Войдите в рабочую область Azure Databricks как администратор рабочей области.

  2. На боковой панели нажмите кнопку "Оповещения".

  3. Щелкните оповещение.

  4. Нажмите кнопку "Общий доступ" в правом верхнем углу, чтобы открыть диалоговое окно "Общийдоступ ".

  5. Щелкните значок шестеренки в правом верхнем углу и нажмите кнопку "Назначить нового владельца".

    Назначение нового владельца

  6. Select пользователь, которому назначается владение.

  7. Нажмите кнопку Подтвердить.