本页介绍超出单列阈值检查的 SQL 创作技术。
警报汇总
通过修改警报中附加的 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 等参数的)警报自定义正文中。 这些变量转而仅显示最终的聚合后的查询结果。
针对多个列发出警报
若要基于查询的多个列设置警报,查询可以实现警报逻辑,并返回要触发的警报的布尔值。 例如:
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 时触发。
指标视图警报
可以在指标视图上设置警报,以在指标值超出预期范围时收到通知。 指标视图的警报与针对任何其他数据集的警报相同。 在警报的查询中,按其完全限定的名称引用指标视图。