Was sind Databricks SQL-Warnungen?
Databricks SQL-Warnungen führen regelmäßig Abfragen aus, bewerten definierte Bedingungen und senden Benachrichtigungen, wenn eine Bedingung erfüllt ist. Sie können Warnungen einrichten, um Ihr Unternehmen zu überwachen und Benachrichtigungen zu senden, wenn die gemeldeten Daten außerhalb der erwarteten Grenzen liegen. Das Planen einer Warnung führt die zugrunde liegende Abfrage aus und überprüft die Warnungskriterien. Dies ist unabhängig von jedem Zeitplan, der möglicherweise in der zugrunde liegenden Abfrage vorhanden ist.
Wichtig
- Warnungen, die Abfragen mit Parametern nutzen, verwenden den Standardwert, der im SQL-Editor für jeden Parameter angegeben ist.
Anzeigen und Strukturieren von Warnungen
Verwenden Sie eine der folgenden Optionen, um auf Warnungen zuzugreifen:
- Wählen Sie auf der Randleiste den Arbeitsbereich aus, um Warnungen im Ordner Start anzuzeigen, in dem sie standardmäßig gespeichert werden. Benutzer können Warnungen in Ordner im Arbeitsbereichsbrowser zusammen mit anderen Databricks-Objekten organisieren.
- Wählen Sie auf der Randleiste die Option Warnungen aus, um die Seite mit der Warnungsliste anzuzeigen.
Standardmäßig sind Objekte in umgekehrt chronologischer Reihenfolge sortiert. Durch Klicken auf die Spaltenüberschriften können Sie die Sortierung der Liste anpassen. Wählen Sie die Registerkarte Alle Warnungen am oberen Rand des Bildschirms aus, um alle Warnungen im Arbeitsbereich anzuzeigen. Wählen Sie die Registerkarte Meine Warnungen aus, um Warnungen in Ihrem Besitz anzuzeigen.
- Name enthält die Namenszeichenfolge der jeweiligen Warnung.
- Zustand enthält den Status der Warnung (
TRIGGERED
,OK
oderUNKNOWN
). - Letzte Aktualisierung zeigt die Zeit oder das Datum der letzten Aktualisierung an.
- Erstellt unter zeigt das Datum und die Uhrzeit an, wann die Warnung erstellt wurde.
TRIGGERED
bedeutet, dass die Wertspalte in Ihrer Zielabfrage bei der letzten Ausführung die von Ihnen konfigurierte Bedingung und den von Ihnen konfigurierten Schwellenwert erfüllt hat. Wenn Ihre Warnung also beispielsweise überprüft, ob „Katzen“ über 1.500 liegt, wird die Warnung ausgelöst, solange „Katzen“ über 1.500 liegt.OK
bedeutet, dass die Wertspalte bei der letzten Abfrageausführung die von Ihnen konfigurierte Bedingung und den von Ihnen konfigurierten Schwellenwert nicht erfüllt hat. Dies bedeutet nicht, dass die Warnung nicht zuvor ausgelöst wurde. Wenn der Wert für „Katzen“ jetzt 1470 lautet, wird die Warnung alsOK
angezeigt.UNKNOWN
bedeutet, dass Databricks SQL nicht über genügend Daten verfügt, um die Warnungskriterien auszuwerten. Dieser Status wird unmittelbar nach dem Erstellen der Warnung angezeigt, bis die Abfrage ausgeführt wurde. Dieser Status wird auch angezeigt, wenn das Abfrageergebnis keine Daten enthält oder wenn das letzte Abfrageergebnis nicht die von Ihnen konfigurierte Wertspalte enthält.
Erstellen einer Warnung
Führen Sie die folgenden Schritte aus, um eine Warnung für eine einzelne Spalte einer Abfrage zu erstellen.
Führen Sie eines der folgenden Verfahren aus:
- Klicken Sie auf der Randleiste auf Neu, und wählen Sie Warnung aus.
- Klicken Sie auf der Randleiste auf das Symbol Warnungen und dann auf die Schaltfläche + Neue Warnung.
- Klicken Sie auf das Symbol Arbeitsbereich und dann auf + Warnung erstellen.
- Klicken Sie auf das Kebab-Menü in der oberen rechten Ecke einer gespeicherten Abfrage und klicken Sie auf + Warnung erstellen.
Suchen Sie im Feld Abfrage nach einer Zielabfrage.
Um Warnungen für mehrere Spalten zu erhalten, müssen Sie Ihre Abfrage ändern. Weitere Informationen finden Sie unter Warnungsaggregationen.
Konfigurieren Sie die Warnung im Feld Auslösebedingung.
Das Dropdownmenü Spaltenwert steuert, welches Feld des Abfrageergebnisses ausgewertet wird. Warnungsbedingungen können für den ersten Wert einer Spalte im Abfrageergebnis festgelegt werden. Sie können auch eine Aggregation über alle Zeilen einer einzelnen Spalte festlegen, z. B. SUM oder AVERAGE.
Das Dropdownmenü Operator steuert den logischen Vorgang, der angewendet werden soll.
Die Texteingabe Schwellenwert wird mithilfe der von Ihnen angegebenen Bedingung mit der Spalte „Wert“ verglichen.
Klicken Sie auf Warnungsvorschau, um eine Vorschau der Warnung anzuzeigen und zu testen, ob die Warnung mit den aktuellen Daten ausgelöst wird.
Wählen Sie im Feld Wenn eine Warnung ausgelöst wird, Benachrichtigung senden aus, wie viele Benachrichtigungen gesendet werden sollen, wenn Ihre Warnung ausgelöst wird:
- Nur einmal: Benachrichtigung senden, wenn sich der Warnungsstatus von
OK
inTRIGGERED
ändert. - Each time alert is evaluated (Bei jeder Auswertung der Warnung): Benachrichtigung senden, wann immer der Warnungsstatus
TRIGGERED
lautet, unabhängig vom Status bei der letzten Bewertung. - At most every (Höchstens alle): Benachrichtigung in einem bestimmten Intervall senden, wenn der Warnungsstatus
TRIGGERED
ist. Mit dieser Option können Sie Benachrichtigungsspam für Warnungen vermeiden, die häufig ausgelöst werden.
Unabhängig davon, welche Benachrichtigungseinstellung Sie auswählen, erhalten Sie immer dann eine Benachrichtigung, wenn der Status von
OK
inTRIGGERED
oder vonTRIGGERED
inOK
wechselt. Die Zeitplaneinstellungen wirken sich darauf aus, wie viele Benachrichtigungen Sie erhalten, wenn der Status zwischen zwei AusführungenTRIGGERED
bleibt. Details finden Sie unter Benachrichtigungshäufigkeit.- Nur einmal: Benachrichtigung senden, wenn sich der Warnungsstatus von
Wählen Sie im Dropdownmenü Vorlage eine Vorlage aus:
- Standardvorlage verwenden: Warnungsbenachrichtigung ist eine Meldung mit Links zu den Bildschirmen „Warnungskonfiguration“ und „Abfrage“.
- Benutzerdefinierte Vorlage verwenden: Die Warnungsbenachrichtigung enthält spezifischere Informationen zur Warnung.
Ein Feld mit Eingabefeldern für Betreff und Text wird angezeigt. Jeder statische Inhalt ist gültig, und Sie können integrierte Vorlagenvariablen verwenden:
ALERT_STATUS
: Der ausgewertete Warnungsstatus (Zeichenfolge).ALERT_CONDITION
: Der Bedingungsoperator der Warnung (Zeichenfolge).ALERT_THRESHOLD
: Der Warnungsschwellenwert (Zeichenfolge oder Zahl).ALERT_COLUMN
: Der Name der Warnungsspalte (Zeichenfolge).ALERT_NAME
: Der Warnungsname (Zeichenfolge).ALERT_URL
: Die URL der Warnungsseite (Zeichenfolge).QUERY_NAME
: Der zugeordnete Abfragename (Zeichenfolge).QUERY_URL
: Die URL der zugeordneten Abfrageseite (Zeichenfolge).QUERY_RESULT_TABLE
: Die HTML-Tabelle mit dem Abfrageergebnis (Zeichenfolge).QUERY_RESULT_VALUE
: Der Abfrageergebniswert (Zeichenfolge oder Zahl).QUERY_RESULT_ROWS
: Die Abfrageergebniszeilen (Wertarray).QUERY_RESULT_COLS
: Die Abfrageergebnisspalten (Zeichenfolgenarray).
Beispiel für den Betreff:
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
.Sie können HTML verwenden, um Nachrichten in einer benutzerdefinierten Vorlage zu formatieren. Die folgenden Tags und Attribute sind in Vorlagen zulässig:
- Tags:
<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>
- Attribute: href (für
<a>
), title (für<a>
,<abbr>
,<acronym>
)
- Tags:
Klicken Sie auf die Umschaltfläche Vorschau, um eine Vorschau des gerenderten Ergebnisses anzuzeigen.
Wichtig
Die Vorschau ist nützlich, um sicherzustellen, dass die Vorlagenvariablen korrekt gerendert werden. Es handelt sich nicht um eine genaue Darstellung des tatsächlichen Inhalts der Benachrichtigung, da jedes Benachrichtigungsziel die Benachrichtigungen anders anzeigen kann.
Klicken Sie auf die Schaltfläche Änderungen speichern.
Klicken Sie auf Warnung erstellen.
Klicken Sie auf Zeitplan hinzufügen.
- Verwenden Sie die Dropdownauswahl, um die Häufigkeit, den Zeitraum, die Startzeit und die Zeitzone anzugeben. Optional können Sie das Kontrollkästchen Cron-Syntax anzeigen auswählen, um den Zeitplan in Quartz Cron Syntax zu bearbeiten.
- Wählen Sie Weitere Optionen aus, um optionale Einstellungen anzuzeigen. Sie können auch auswählen:
- Ein Name für den Zeitplan.
- Ein SQL-Warehouse zum Ausführen der Abfrage. Standardmäßig wird das SQL-Warehouse, das für die Ad-hoc-Abfrageausführung verwendet wird, auch für einen geplanten Auftrag verwendet. Verwenden Sie diese optionale Einstellung, um ein anderes Warehouse auszuwählen, in dem die geplante Abfrage ausgeführt werden soll.
Klicken Sie im Dialogfenster Zeitplan hinzufügen auf die Registerkarte Ziele.
- Verwenden Sie die Dropdownliste, um ein verfügbares Benachrichtigungsziel auszuwählen. Oder beginnen Sie mit der Eingabe eines Benutzernamens, um Einzelpersonen hinzuzufügen.
Wichtig
Wenn Sie diesen Schritt überspringen, werden Sie nicht benachrichtigt, wenn die Warnung ausgelöst wird.
Klicken Sie auf Erstellen. Ihre gespeicherten Warnungs- und Benachrichtigungsdetails werden auf dem Bildschirm angezeigt.
Teilen Sie den Zeitplan.
- Wählen Sie rechts neben dem aufgeführten Zeitplan das Kebab-Menü und dann Zeitplanberechtigungen bearbeiten aus.
- Wählen Sie einzelne Benutzer*innen oder Gruppen aus dem Dropdownmenü im Dialogfeld aus.
- Wählen Sie aus den folgenden Zeitplanberechtigungen aus:
- KEINE BERECHTIGUNGEN: Es wurden keine Berechtigungen erteilt. Benutzer*innen ohne Berechtigungen können nicht sehen, dass der Zeitplan vorhanden ist, auch wenn sie Abonnent*innen sind oder in aufgelisteten Benachrichtigungszielen enthalten sind.
- KANN ANZEIGEN: Erteilt Berechtigungen zum Anzeigen der Ergebnisse geplanter Ausführungen.
- KANN AUSFÜHRUNG VERWALTEN: Erteilt Berechtigungen zum Anzeigen der Ergebnisse geplanter Ausführungen.
- KANN VERWALTEN: Erteilt Berechtigungen zum Anzeigen, Ändern und Löschen von Zeitplänen. Diese Berechtigung ist erforderlich, um Änderungen am Ausführungsintervall vorzunehmen, die Abonnentenliste zu aktualisieren und den Zeitplan anzuhalten oder fortzusetzen.
- IST BESITZER: Gewährt alle Berechtigungen des Berechtigungstyps KANN VERWALTEN. Darüber hinaus werden die Anmeldeinformationen von Zeitplanbesitzer*innen zum Ausführen von Dashboardabfragen verwendet. Besitzer*innen können nur von Arbeitsbereichsadministrator*innen geändert werden.
Wichtig
Berechtigungen für Warnungen und Zeitpläne sind getrennt. Gewähren Sie den Zugriff auf Benutzer und Gruppen in der Liste der Benachrichtigungsziele, damit sie geplante Ausführungsergebnisse anzeigen können.
Teilen Sie die Warnung.
- Klicken Sie oben rechts auf der Seite.
- Fügen Sie Benutzer oder Gruppen hinzu, die Zugriff auf die Warnung haben sollen.
- Wählen Sie die entsprechende Berechtigungsstufe aus, und klicken Sie dann auf Hinzufügen.
Wichtig
KANN VERWALTEN weist Berechtigungen zum Anzeigen, Ändern und Löschen von Zeitplänen zu. Diese Berechtigung ist erforderlich, um Änderungen am Ausführungsintervall vorzunehmen, die Benachrichtigungszielliste zu aktualisieren und den Zeitplan anzuhalten oder aufzuheben.
Weitere Informationen zu Warnungsberechtigungsebenen finden Sie unter Warnungs-ACLs.
Warnungsaggregationen
Eine Aggregation für eine Warnung erfolgt durch Ändern des ursprünglichen SQL-Abfrage der an die Warnung angefügten Databricks SQL-Abfrage. Die Warnung umschließt den ursprünglichen Abfragetext mit einem gemeinsamen Tabellenausdruck (Common Table Expression, CTE) und führt eine Umbruch-Aggregationsabfrage darauf aus, um das Abfrageergebnis zu aggregieren.
Ein Beispiel: Eine SUM
-Aggregation in einer Warnung, die an eine Abfrage mit dem Text SELECT 1 AS column_name
angehängt ist, bedeutet, dass jedes Mal, wenn die Warnung aktualisiert wird, die geänderte SQL-Abfrage ausgeführt wird: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
.
Das bedeutet, dass das ursprüngliche Abfrageergebnis (voraggregiert) nicht in einem benutzerdefinierten Warnungstext (mit Parametern wie QUERY_RESULT_ROWS
und QUERY_RESULT_COLS
) angezeigt werden kann, wenn eine Aggregation für eine Warnung erfolgt. Stattdessen zeigen diese Variablen nur das endgültige Abfrageergebnis nach der Aggregation an.
Hinweis
Sämtliche Auslösebedingungen, die sich auf Aggregationen beziehen, werden von der API nicht unterstützt.
Warnung für mehrere Spalten
Um eine Warnung basierend auf mehreren Spalten einer Abfrage festzulegen, kann Ihre Abfrage die Warnungslogik implementieren und einen booleschen Wert zurückgeben, für den die Warnung ausgelöst werden soll. Beispiele:
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
Diese Abfrage gibt bei drafts_count > 10000 and archived_count > 5000
1
zurück.
Anschließend können Sie die Warnung so konfigurieren, dass sie ausgelöst wird, wenn der Wert 1
ist.
Benachrichtigungshäufigkeit
Databricks SQL sendet Benachrichtigungen an die ausgewählten Benachrichtigungsziele, wenn erkannt wird, dass sich der Warnungsstatus von OK
in TRIGGERED
oder umgekehrt geändert hat.
Betrachten Sie dieses Beispiel, bei dem eine Warnung für eine Abfrage konfiguriert ist, die einmal täglich ausgeführt werden soll. Der tägliche Status der Warnung wird in der folgenden Tabelle angezeigt.
Vor Montag lautete der Warnungsstatus OK
.
Day (Tag) | Warnungsstatus |
---|---|
Montag | OK |
Tuesday | OK |
Wednesday | AUSGELÖST |
Thursday | AUSGELÖST |
Freitag | AUSGELÖST |
Samstag | AUSGELÖST |
Sonntag | OK |
Wenn die Benachrichtigungshäufigkeit auf Just Once
festgelegt ist, sendet Databricks SQL eine Benachrichtigung am Mittwoch, wenn sich der Status von OK
in TRIGGERED
ändert, sowie eine weitere am Sonntag, wenn er zurückwechselt. Am Donnerstag, Freitag und Samstag werden keine Warnungen gesendet (es sei denn, Sie konfigurieren dies ausdrücklich), da sich der Warnungsstatus zwischen den Ausführungen an diesen Tagen nicht geändert hat.
Konfigurieren von Warnungsberechtigungen und Übertragen des Besitzes von Warnungen
Sie müssen mindestens über die Berechtigung „KANN VERWALTEN“ für eine Abfrage verfügen, um Abfragen freizugeben. Informationen zu Warnungsberechtigungsebenen finden Sie unter Warnungs-ACLs.
Wählen Sie Warnungen auf der Randleiste aus.
Klicke auf eine Warnung.
Wählen Sie rechts oben die Schaltfläche aus, um das Dialogfeld Freigeben zu öffnen.
Suchen und wählen Sie die Gruppen oder Benutzer aus, und weisen Sie die Berechtigungsebene zu.
Klicken Sie auf Hinzufügen.
Übertragen des Besitzes einer Warnung
Wenn Sie eine Warnung speichern, werden Sie ihr Besitzer. Wenn der Besitzer einer Warnung aus einem Arbeitsbereich entfernt wird, hat die Warnung keinen Besitzer mehr. Arbeitsbereichs-Administratorbenutzer*innen können den Besitz einer Warnung an andere Benutzer*innen übertragen. Dienstprinzipale und Gruppen können nicht als Eigentümer einer Warnung eingesetzt werden. Sie können den Besitz auch über die Berechtigungs-API übertragen.
Melden Sie sich als Arbeitsbereichsadministrator bei Ihrem Azure Databricks-Arbeitsbereich an.
Wählen Sie Warnungen auf der Randleiste aus.
Klicke auf eine Warnung.
Wählen Sie rechts oben die Schaltfläche Freigeben aus, um das Dialogfeld Freigeben zu öffnen.
Klicken Sie oben rechts auf das Zahnradsymbol, und klicken Sie dann auf Assign new owner (Neuen Besitzer zuweisen).
Wählen Sie den Benutzer oder die Benutzerin aus, dem bzw. der der Besitz zugewiesen werden soll.
Klicken Sie auf Confirm (Bestätigen).