Modèles de query d’alerte
Cette page couvre les techniques de rédaction SQL qui vont au-delà d'une vérification de threshold à colonne unique.
Agréations d’alertes
Une agrégation sur une alerte fonctionne en modifiant le SQL original de la requête Databricks SQL attachée à l'alerte. L'alerte enveloppe le texte de la query originale dans une expression de table commune (CTE) et effectue une query d'agrégation d'encapsulation sur celle-ci pour agréger le résultat de la query.
Par exemple, une agrégation SUM sur une alerte attachée à une query avec le texte SELECT 1 AS column_name signifie que chaque fois que l'alerte est actualisée, le code SQL modifié qui s'exécute serait : WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q.
Cela signifie que le résultat de la query d'origine (pré-agrégé) ne peut pas être affiché dans le corps personnalisé d'une alerte (avec des paramètres tels que QUERY_RESULT_ROWS et QUERY_RESULT_COLS) lorsqu'il y a une agrégation sur une alerte. Au lieu de cela, ces variables n'afficheront que le résultat final de la query post-agrégation.
Alerte sur plusieurs colonnes
Pour configurer une alerte basée sur plusieurs colonnes d'une query, votre query peut implémenter la logique d'alerte et renvoyer une valeur booléenne pour que l'alerte se Trigger sur. Par exemple :
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
Cette query renvoie 1 lorsque drafts_count > 10000 and archived_count > 5000.
Vous pouvez ensuite configurer l’alerte pour qu’elle se Trigger lorsque la valeur est 1.
Alerte sur les vues de métriques
Vous pouvez configurer une alerte sur une vue métrique pour être averti lorsqu'une valeur métrique sort de la plage attendue. Les alertes sur les vues métriques fonctionnent de la même manière que les alertes sur tout autre dataset. Dans la query de l'alerte, faites référence à la vue métrique par son nom entièrement qualifié.