次の方法で共有


Databricks SQL アラート

重要

この機能は ベータ版です

このページでは、Databricks SQL アラートを有効にして使用してクエリの実行を自動化し、カスタム条件を評価し、それらの条件が満たされたときに通知を配信するための詳細なガイダンスを提供します。 アラートを使用すると、ビジネス データを事前に監視し、報告された値が予想されるしきい値を超えるたびにタイムリーな通知を受け取ることができます。 アラートをスケジュールすると、関連付けられているクエリが実行され、基になるクエリの既存のスケジュールに関係なく、アラート条件がチェックされます。 さらに、アラート履歴にアクセスして、過去のアラート評価の結果を確認できます。

代わりに従来のアラートを操作する方法については、「レガシ アラートとは」を参照してください。

ワークスペースでアラートを有効にする

ほとんどのお客様のワークスペース管理者は、[ プレビュー] ページからこのプレビューへのワークスペース アクセスを制御できます。 ワークスペースにこのバージョンのアラートが表示されない場合は、Databricks アカウント チームにお問い合わせください。

このプレビューを有効にしても、既存のアラートには影響しません。これらのアラートとレガシ アラートの両方を並行して引き続き使用できます。

アラートの表示と整理

サイドバーの [アラート] アイコンの [アラート ] をクリックして、アラートの一覧ページを開きます。

アラートの一覧ページ。

  • [ アラート ] タブは既定で開き、ワークスペース内のすべてのアラートが表示されます。 名前でフィルタリングするために入力できます。 [ 自分のアラートのみ ] をクリックすると、自分が所有者であるアラートのみが表示されます。

  • [ 従来のアラート ] タブには、以前のアラート システムを使用して作成されたアラートが表示されます。

  • [名前] には、各アラートの文字列名が表示されます。

  • 状態 は、アラートの状態が TRIGGEREDOK、または UNKNOWNかどうかを示します。

  • スケジュール には、最後に更新された時刻または日付が表示されます。

  • 所有者 には、アラートを所有しているユーザーのユーザー名が表示されます。

  • [作成日時] には、アラートが作成された日時が表示されます。

    • TRIGGERED は、最新の実行で、ターゲット クエリの [値 ] 列が、構成した 条件しきい値 を満たしていることを意味します。 "猫" が 1500 より多いかどうかをチェックするアラートの場合、"猫" が 1500 を超えている間はアラートがトリガーされます。
    • OK は、最新のクエリ実行で、 Value 列が構成した 条件しきい値 を満たしていないことを意味します。 これは、 アラート が以前にトリガーされなかったことを意味するものではありません。 "猫" の値が現在は 1470 になっている場合は、アラートで OK が示されます。
    • UNKNOWN は、Databricks SQL にアラート条件を評価するのに十分なデータがないことを示します。 この状態は、アラートを作成した直後に表示され、クエリが実行されるまで保持されます。 この状態は、クエリ結果にデータがなかった場合、または最新のクエリ結果に構成した 値列 が含まれていない場合にも使用されます。
    • ERROR は、アラートの評価中にエラーが発生したことを示します。

アラートを作成する

このセクションの手順では、次の図に示すアラートを作成する方法について説明します。 各コンポーネントを理解するには、ラベルと説明を使用します。

アラート作成 UI には、異なる部分を識別する番号付きラベルが表示されます。

  1. データ セット: アラートを生成するクエリを作成してテストします。
  2. 条件: アラート通知をトリガーする値のしきい値を選択します。 クエリを実行して、このセクションの条件をテストできます。
  3. 計画: アラートを実行するための定期的なスケジュールを設定します。
  4. 通知: しきい値が想定される範囲外にある場合は、ユーザーまたは通知先をアラートにする必要があることを示します。
  5. アドバンスド: 詳細設定を使用して、特別な値と条件に関するアラートを生成します。

重要

ベータ期間中、アラートでは パラメーターを含むクエリはサポートされません。 「従来のアラートとは」を参照してください。

アラートを作成するには、次の手順に従います。

  1. サイドバー で [アラート] アイコンの [アラート ] をクリックし、[ アラートの作成] をクリックします。

  2. 次のクエリをコピーして データセット エディターに貼り付けます。

    SELECT
      to_date(tpep_pickup_datetime) as date,
      SUM(fare_amount) as amount
    FROM
      `samples`.`nyctaxi`.`trips`
    GROUP BY
      ALL
    ORDER BY
      1 DESC
    
    
  3. [ 条件] フィールドで、アラートをトリガーする条件を設定します。

    次のテキストのように設定が適用された条件フィールド。

    次のように、次の設定を適用します。

    • 確認するデータ値として [合計] を選択します。 アラート条件は、クエリ結果の列の最初の値に設定することも、SUM や AVERAGE などのように、1 つの列のすべての行の集計を設定することもできます。
    • チェックする列として 金額 を選択します。
    • 適用する論理演算子として > (より大きい) を選択します。
    • しきい値を Static value 4000 に設定します。 既定では、静的な値が選択されています。 値フィールドに「4000」と入力します。
  4. [ テスト条件 ] をクリックしてアラートをプレビューし、アラートが現在のデータでトリガーされるかどうかをテストします。 指定された設定によってアラートがトリガーされます。 しきい値を変更して、さらにテストすることができます。

  5. [スケジュール] ドロップダウン メニューを使用してアラートを設定し、1 時間の 0 分後から 5ごとに実行されるようにします。 必要に応じて、[Cron 構文の表示] チェックボックスをオンにして、[Quartz Cron 構文] でスケジュールを編集します。

  6. [ 通知 ] セクションで、ユーザー名を検索し、表示されたらクリックします。

  7. Create をクリックしてください。

アラートが保存され、指定したスケジュールに従って実行されます。 この例で使用されるデータは静的であるため、 テスト条件Triggered として返された場合は、次回実行されます。 アラートとして電子メール通知を受け取ります。 テスト条件OK を返した場合、通知は送信されません。

アラートの詳細を確認する

アラートの詳細を表示するページが開きます。 さらに、アラート履歴が評価履歴の詳細と共に表示されます。 [ 今すぐ実行 ] ボタンをクリックすると、アラート クエリが実行され、この画面に結果が返されます。

ページの右上隅にある [編集] をクリックして、アラートの編集を続けます。

詳細設定

[ 詳細設定 ] をクリックして、次の設定を適用します。

  • [OK] で通知する: アラートが OKとして返されたときに通知を送信します。

  • 通知の頻度: 状態が OKに戻るまで、アラートに関する通知を定期的に送信します。

  • 空の結果の状態: クエリが結果を返さないときに返す特別な状態を設定します。

  • テンプレート: 既定のテンプレートまたはカスタム テンプレートを使用して通知を送信することを選択できます。 次の一覧では、各テンプレートの種類について説明します。

    • [Use default template](既定のテンプレートを使用する): アラートの通知は、アラートの構成画面とクエリ画面へのリンクを含むメッセージになります。

    • [Use custom template](カスタム テンプレートを使用する): アラート通知には、アラートに関するより具体的な情報が含まれます。

      1. 件名と本文の入力フィールドで構成されたボックスが表示されます。 静的なコンテンツはすべて有効であり、組み込みのテンプレート変数を使用できます。

        • ALERT_STATUS: 評価されたアラートの状態 (文字列)。
        • ALERT_CONDITION: アラートの条件演算子 (文字列)。
        • ALERT_THRESHOLD: アラートのしきい値 (文字列または数値)。
        • ALERT_COLUMN: アラートの列名 (文字列)。
        • ALERT_NAME: アラート名 (文字列)。
        • ALERT_URL: アラート ページの URL (文字列)。
        • QUERY_NAME: 関連付けられているクエリ名 (文字列)。
        • QUERY_URL: 関連付けられているクエリ ページの URL (文字列)。
        • QUERY_RESULT_TABLE: クエリ結果の HTML テーブル (文字列)。 結果は最初の 100 行に制限されています。 HTML をレンダリングできるのは、電子メール通知の宛先のみです。
        • QUERY_RESULT_VALUE: クエリの結果の値 (文字列または数値)。
        • QUERY_RESULT_ROWS: クエリの結果の行 (値配列)。
        • QUERY_RESULT_COLS: クエリの結果の列 (文字列配列)。

        たとえば、Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}} のような件名の例が考えられます。

      2. HTML を使用して、カスタム テンプレートでメッセージを書式設定できます。 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 (<a> 用)、title (<a><abbr><acronym> 用)
      3. [プレビュー] トグル ボタンをクリックして、レンダリングされた結果をプレビューします。

        重要

        プレビューは、テンプレート変数が正しくレンダリングされることを確認するのに役立ちます。 通知は送信先ごとに異なる方法で表示できるため、最終的な通知の内容が正確に表現されるわけではありません。

ワークスペース管理者は、新しい通知先を設定できます。 通知 先の管理を参照してください。

アラートの集計

アラートの集計は、アラートにアタッチされている Databricks SQL クエリの元の 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 などのパラメーターを使用して) アラート カスタム本体に表示することはできません。 代わりに、これらの変数は、集計後の最終的なクエリ結果のみを表示します。

集計に関連するすべてのトリガー条件は、API ではサポートされていません。

複数の列に対するアラート

クエリの複数の列に基づいてアラートを設定するには、クエリでアラート ロジックを実装し、アラートをトリガーするブール値を返すことができます。 次に例を示します。

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 のときにアラートをトリガーするように構成できます。

メトリック ビューに対するアラート

メトリック ビューは主要なビジネス メトリックを追跡および測定するように設計されているため、メトリックが予想範囲外になったときに自動的に通知されるように、アラートとうまく組み合わせています。 メトリック ビューのアラートは、他のデータセットのアラートと同じように機能します。 クエリを作成してクエリを構成するときは、監視するメトリック ビューの完全修飾名を使用します。

Git 統合がアラートとどのように連携するか

Databricks Git フォルダーを使用して、アラートの変更を追跡および管理できます。 Git でアラートを追跡するには、それらを Databricks Git フォルダーに配置します。 新しく複製されたアラートは、ユーザーが操作した後にのみ、アラートの一覧ページまたは API に表示されます。 スケジュールが一時停止されているため、ユーザーが明示的に再開する必要があります。

Databricks Git フォルダーは、アラートやその他のワークスペース オブジェクトに対する一般的な Git 操作を一元的に管理する方法を提供します。 詳細については、 Databricks Git フォルダーの Git 統合に関するページを参照してください。

アラートのアクセス許可を構成してアラートの所有権を譲渡する

アラートのアクセス許可レベルについては、「アラート ACL」を参照してください。

  1. サイドバーの [アラート] をクリックします。

  2. アラートをクリックします。

  3. アラートの詳細ページの右上隅にある [ 共有 ] をクリックして、[ 共有 ] ダイアログを開きます。

    アラートのアクセス許可を管理する

  4. グループおよびユーザーを検索して選び、アクセス許可レベルを割り当てます。

  5. 追加をクリックします。

アラートの所有権を譲渡する

アラートを保存すると、アラートの所有者になります。 アラートの所有者がワークスペースから削除された場合、アラートには所有者が存在しなくなります。 ワークスペース管理者ユーザーは、アラートの所有権を別のユーザーに譲渡できます。 サービス プリンシパルとグループにアラートの所有権を割り当てることはできません。 Permissions API を使って所有権を移転することもできます。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。

  2. サイドバーの [アラート] をクリックします。

  3. アラートをクリックします。

  4. 右上にある [共有] ボタンをクリックして、[共有] ダイアログを開きます。

  5. 右上にある歯車アイコンをクリックし、[新しい所有者の割り当て] をクリックします。

    新しい所有者の割り当て

  6. 所有権の割り当て先のユーザーを選択してください。

  7. [Confirm](確認) をクリックします。