メインコンテンツまでスキップ

アラートクエリパターン

このページでは、単一列のしきい値チェックにとどまらない、より高度なSQL作成テクニックについて解説します。

アラート集計

アラートに対する集計は、アラートに添付されているDatabricks SQLクエリの元のSQLを変更することによって機能します。このアラートは、元のクエリテキストを共通テーブル式(CTE)で囲み、そのCTEに対してラッパー集計クエリを実行してクエリ結果を集計します。

例えば、テキストSELECT 1 AS column_nameを持つクエリに添付されたアラートのSUM集計は、アラートが更新されるたびに実行される変更された SQL がWITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM qになることを意味します。

これは、アラートに集計がある場合は常に、元のクエリ結果 (事前集計) をアラート カスタム本文 ( QUERY_RESULT_ROWSQUERY_RESULT_COLSなどの警告付き) に表示できないことを意味します。 その代わりに、これらの変数には集計後の最終的なクエリ結果のみが表示されます。

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

クエリの複数の列に基づいてアラートを設定するには、クエリでアラート ロジックを実装し、 トリガーするアラートのBoolean値を返します。 例えば:

SQL
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

このクエリは、 drafts_count > 10000 and archived_count > 5000の場合に1を返します。そうすれば、値が1ときにアラートがトリガーされるように設定できます。

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

メトリクス ビューでアラートを設定すると、メトリクス値が予想範囲外になったときに通知を受け取ることができます。 メトリクス ビューのアラートは、他のデータセットのアラートと同じように機能します。 アラートのクエリでは、メトリクス ビューを完全修飾名で参照します。