Vad är Databricks SQL-aviseringar?
Databricks SQL-aviseringar kör regelbundet frågor, utvärderar definierade villkor och skickar meddelanden om ett villkor uppfylls. Du kan konfigurera aviseringar för att övervaka ditt företag och skicka meddelanden när rapporterade data ligger utanför de förväntade gränserna. Schemaläggning av en avisering kör den underliggande frågan och kontrollerar aviseringsvillkoren. Detta är oberoende av alla scheman som kan finnas i den underliggande frågan.
Viktigt!
- Aviseringar som utnyttjar frågor med parametrar använder standardvärdet som anges i SQL-redigeraren för varje parameter.
Visa och organisera aviseringar
Använd något av följande alternativ för att få åtkomst till aviseringar:
- Klicka på ikonen
arbetsyta i sidofältet för att visa aviseringar i mappen Home, där de lagras som standard. Användare kan ordna aviseringar i mappar i arbetsytans webbläsare tillsammans med andra Databricks-objekt.
- Klicka på aviseringarna
i sidofältet för att visa sidan med aviseringar.
Som standard sorteras objekt i omvänd kronologisk ordning. Du kan ändra ordning på listan genom att klicka på kolumnrubrikerna. Klicka på fliken Alla aviseringar längst upp på skärmen för att visa alla aviseringar på arbetsytan. Klicka på fliken Mina aviseringar för att visa aviseringar där du är ägare.
- Namn visar namnet för varje avisering.
-
Tillstånd visar om aviseringsstatusen är
TRIGGERED
,OK
ellerUNKNOWN
. - Senast uppdaterad visar den senaste uppdaterade tiden eller datumet.
-
Det datum och den tid då aviseringen skapades visas.
-
TRIGGERED
innebär att kolumnen Värde i målfrågan vid den senaste körningen uppfyllde villkoret och tröskelvärdet som du konfigurerade. Om du till exempel kontrollerar om värdet för ”katter” är över 1 500 utlöses aviseringen så länge värdet för ”katter” överstiger 1 500. -
OK
innebär att kolumnen Value inte uppfyllde villkoret och tröskelvärdet som du konfigurerade vid den senaste frågekörningen. Det betyder inte att aviseringen inte utlöstes tidigare. Om värdet "katter" nu är 1470 visas aviseringen somOK
. -
UNKNOWN
innebär att Databricks SQL inte har tillräckligt med data för att utvärdera aviseringsvillkoren. Du ser den här statusen omedelbart efter att du har skapat aviseringen och tills frågan har körts. Du ser även den här statusen om det inte fanns några data i frågeresultatet eller om det senaste frågeresultatet inte innehåller värdekolumnen du har konfigurerat.
-
Skapa en avisering
Följ de här stegen för att skapa en avisering i en enda kolumn i en fråga.
Gör något av följande:
- Klicka på
Ny i sidofältet och välj Avisering.
- Klicka på
Aviseringar i sidofältet och klicka på knappen + Ny avisering.
- Klicka på
Arbetsyta i sidofältet och klicka på + Skapa avisering.
- Klicka på
I fältet Fråga söker du efter en målfråga.
Om du vill avisera om flera kolumner måste du ändra frågan. Se Aviseringsaggregeringar.
I fältet Utlösarvillkor konfigurerar du aviseringen.
Kolumnen Value listrutan styr vilket fält i frågeresultatet som utvärderas. Aviseringsvillkor kan anges på det första värdet för en kolumn i frågeresultatet, eller så kan du välja att ange en aggregering över alla rader i en enda kolumn, till exempel SUM eller AVERAGE.
Listrutan Operator styr den logiska åtgärd som ska tillämpas.
Värdet Tröskelvärde textinmatning jämförs med kolumnen Värde med hjälp av villkoret som du anger.
Klicka på Förhandsgranska avisering för att förhandsgranska aviseringen och testa om aviseringen skulle utlösas med aktuella data.
I fältet När aviseringen utlöses skickar du ett meddelande fält och väljer hur många meddelanden som skickas när aviseringen utlöses:
-
Bara en gång: Skicka ett meddelande när aviseringsstatusen ändras från
OK
tillTRIGGERED
. -
Varje gång aviseringen utvärderas: Skicka ett meddelande när aviseringsstatusen är
TRIGGERED
oberoende av dess status vid föregående utvärdering. -
Högst var: Skicka ett meddelande när aviseringsstatusen är
TRIGGERED
vid ett visst intervall. Med det här valet kan du undvika skräppostmeddelanden för aviseringar som utlöses ofta.
Oavsett vilken meddelandeinställning du väljer får du ett meddelande när statusen går från
OK
tillTRIGGERED
eller frånTRIGGERED
tillOK
. Schemainställningarna påverkar hur många meddelanden du får om statusen förblirTRIGGERED
från en körning till en annan. Mer information finns i Meddelandefrekvens.-
Bara en gång: Skicka ett meddelande när aviseringsstatusen ändras från
I listrutan Mall väljer du en mall:
Använd standardmall: Aviseringsmeddelande är ett meddelande med länkar till skärmen Aviseringskonfiguration och frågeskärmen.
Använd anpassad mall: Aviseringsmeddelandet innehåller mer specifik information om aviseringen.
En ruta visas, som består av indatafält för ämne och brödtext. Allt statiskt innehåll är giltigt och du kan använda inbyggda mallvariabler:
-
ALERT_STATUS
: Utvärderad aviseringsstatus (sträng). -
ALERT_CONDITION
: Operatorn för aviseringsvillkor (sträng). -
ALERT_THRESHOLD
: Aviseringströskelvärdet (sträng eller nummer). -
ALERT_COLUMN
: Aviseringskolumnens namn (sträng). -
ALERT_NAME
: Aviseringsnamnet (strängen). -
ALERT_URL
: URL:en för aviseringssidan (sträng). -
QUERY_NAME
: Det associerade frågenamnet (strängen). -
QUERY_URL
: Url:en för den associerade frågesidan (sträng). -
QUERY_RESULT_TABLE
: HTML-tabellen för frågeresultat (sträng). Resultaten är begränsade till de första 100 raderna. Endast mål för e-postmeddelandeaviseringar kan rendera HTML. -
QUERY_RESULT_VALUE
: Frågeresultatvärdet (sträng eller tal). -
QUERY_RESULT_ROWS
: Frågeresultatrader (värdematris). -
QUERY_RESULT_COLS
: Frågeresultatkolumnerna (strängmatrisen).
Ett exempelämne kan till exempel vara:
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
.-
Du kan använda HTML för att formatera meddelanden i en anpassad mall. Endast e-postmeddelanden kan visa HTML. Följande taggar och attribut tillåts i mallar:
- Taggar:
<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>
- Attribut: href (för
<a>
), rubrik (för<a>
,<abbr>
,<acronym>
)
- Taggar:
Klicka på knappen Förhandsgranska för att förhandsgranska det renderade resultatet.
Viktigt!
Förhandsversionen är användbar för att verifiera att mallvariabler återges korrekt. Det är inte en korrekt representation av det slutliga meddelandeinnehållet, eftersom varje meddelandemål kan visa meddelanden på olika sätt.
Klicka på knappen Spara ändringar .
Klicka på Skapa avisering.
Klicka på Lägg till schema.
- Använd listruteväljarna för att ange frekvens, period, starttid och tidszon. Du kan också markera kryssrutan Visa cron-syntax för att redigera schemat i Quartz Cron Syntax.
- Välj Fler alternativ för att visa valfria inställningar. Du kan också välja:
- Ett namn på schemat.
- Ett SQL-lager för att driva frågan. Som standard används det SQL-lager som används för ad hoc-frågekörning även för ett schemalagt jobb. Använd den här valfria inställningen för att välja en annan lagerlokal för att köra den schemalagda frågan.
Klicka på fliken Mål i dialogrutan Lägg till schema.
- Använd listrutan för att välja en tillgänglig notifieringsdestination. Eller börja skriva ett användarnamn för att lägga till personer.
Viktigt!
Om du hoppar över det här steget meddelas du inte när aviseringen utlöses.
Klicka på Skapa. Den sparade aviserings- och meddelandeinformationen visas på skärmen.
Dela schemat.
- Till höger om det angivna schemat väljer du menyn
kebab och väljer Redigera schemabehörigheter.
- Välj en användare eller grupp i den nedrullningsbara menyn i dialogrutan.
- Välj bort följande schemabehörigheter:
- INGA BEHÖRIGHETER: Inga behörigheter har beviljats. Användare utan behörighet kan inte se att schemat finns, även om de är prenumeranter eller ingår i de angivna meddelandemålen.
- KAN VISA: Ger behörighet att visa schemalagda körningsresultat.
- KAN HANTERA KÖRNING: Beviljar behörighet att visa schemalagda körningsresultat.
- KAN HANTERA: Beviljar behörighet att visa, ändra och ta bort scheman. Den här behörigheten krävs för att göra ändringar i körningsintervallet, uppdatera prenumerantlistan och pausa eller avbryta schemat.
- ÄR ÄGARE: Beviljar alla behörigheter för CAN MANAGE. Dessutom används autentiseringsuppgifterna för schemaägaren för att köra dashboardfrågor. Endast en arbetsyteadministratör kan ändra ägaren.
Viktigt!
Behörigheter för aviseringar och scheman är separata. Bevilja åtkomst till användare och grupper i måldestinationslistan för aviseringar så att de kan visa resultat av schemalagda körningar.
- Till höger om det angivna schemat väljer du menyn
Dela aviseringen.
- Klicka
längst upp till höger på sidan.
- Lägg till användare eller grupper som ska ha åtkomst till aviseringen.
- Välj lämplig behörighetsnivå och klicka sedan på Lägg till.
- Klicka
Viktigt!
CAN MANAGE beviljar behörighet att visa, ändra och ta bort scheman. Den här behörigheten krävs för att göra ändringar i körningsintervallet, uppdatera meddelandemållistan och pausa eller avbryta schemat.
Mer information om behörighetsnivåer för aviseringar finns i ACL:er för aviseringar.
Aviseringsaggregeringar
En aggregering av en avisering fungerar genom att ändra den ursprungliga SQL-frågan för Databricks SQL som är kopplad till aviseringen. Aviseringen omsluter den ursprungliga frågetexten i ett vanligt tabelluttryck (CTE) och utför en omslutningsaggregeringsfråga på den för att aggregera frågeresultatet.
Till exempel innebär en SUM
aggregering på en avisering som är kopplad till en fråga med text SELECT 1 AS column_name
att när aviseringen uppdateras blir den ändrade SQL som körs: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
.
Det innebär att det ursprungliga frågeresultatet (föraggregerat) inte kan visas i en anpassad aviseringstext (med parametrar som QUERY_RESULT_ROWS
och QUERY_RESULT_COLS
) när det finns en aggregering i en avisering. I stället visar dessa variabler bara det slutgiltiga frågeresultatet efter aggregering.
Kommentar
Alla utlösarvillkor som är relaterade till aggregeringar stöds inte av API:et.
Avisering för flera kolumner
Om du vill ange en avisering baserat på flera kolumner i en fråga kan din fråga implementera aviseringslogik och returnera ett booleskt värde som aviseringen ska utlösas på. Till exempel:
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
Den här frågan returnerar 1
när drafts_count > 10000 and archived_count > 5000
.
Sedan kan du konfigurera aviseringen så att den utlöses när värdet är 1
.
Meddelandefrekvens
Databricks SQL skickar meddelanden till dina valda aviseringsmål när den upptäcker att aviseringsstatusen har ändrats från OK
till TRIGGERED
eller vice versa.
Tänk på det här exemplet där en avisering har konfigurerats för en fråga som är schemalagd att köras en gång dagligen. Den dagliga statusen för aviseringen visas i följande tabell.
Före måndagen var OK
aviseringsstatusen .
Dag | Aviseringsstatus |
---|---|
Måndag | OK |
Tisdag | OK |
Onsdag | UTLÖSTE |
Torsdag | UTLÖSTE |
Fredag | UTLÖSTE |
lördag | UTLÖSTE |
söndag | OK |
Om meddelandefrekvensen är inställd på Just Once
skickar Databricks SQL ett meddelande på onsdag när statusen ändrades från OK
till TRIGGERED
och igen på söndag när den växlar tillbaka. Det skickar inte aviseringar på torsdag, fredag eller lördag om du inte specifikt konfigurerar det för att göra det eftersom aviseringsstatusen inte ändrades mellan körningarna på dessa dagar.
Konfigurera aviseringsbehörigheter och överföra ägarskap för aviseringar
Du måste ha minst behörigheten KAN HANTERA för en fråga för att kunna dela frågor. Information om behörighetsnivåer för aviseringar finns i ACL:er för aviseringar.
I sidofältet klickar du på Aviseringar.
Klicka på en avisering.
Klicka på knappen längst upp till höger för att öppna dialogrutan Delning.
Sök efter och välj grupper och användare och tilldela behörighetsnivån.
Klicka på Lägg till.
Överföra ägarskapet för en avisering
När du sparar en avisering blir du aviseringens ägare. Om en aviserings ägare tas bort från en arbetsyta har aviseringen inte längre en ägare. En administratörsanvändare för arbetsytan kan överföra ägarskapet för en avisering till en annan användare. Tjänstens huvudnamn och grupper kan inte tilldelas ägarskap för en avisering. Du kan också överföra ägarskapet med hjälp av API:et Behörigheter.
Som arbetsyteadministratör loggar du in på din Azure Databricks-arbetsyta.
I sidofältet klickar du på Aviseringar.
Klicka på en avisering.
Klicka på knappen Dela längst upp till höger för att öppna dialogrutan Delning.
Klicka på kugghjulsikonen längst upp till höger och klicka på Tilldela ny ägare.
Välj den användare som du vill tilldela ägarskap till.
Klicka på Bekräfta.