Dela via


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:

  • ArbetsyteikonKlicka på arbetsytan i sidofältet för att visa aviseringar i mappen Start, 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 Ikon för aviseringar 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 eller UNKNOWN.
  • Senast uppdaterad visar den senaste uppdaterade tiden eller datumet.
  • Det datum och den tid då aviseringen skapades visas.
    • TRIGGERED innebär att värdekolumnen uppfyllde det angivna villkoret och tröskelvärdet vid den senaste frågekörningen. 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 värdekolumnen inte uppfyllde det angivna villkoret och tröskelvärdet vid den senaste frågekörningen. Det betyder inte att aviseringen inte utlöstes tidigare. Om värdet "katter" nu är 1470 visas aviseringen som OK.
    • 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. Denna status visas också om det inte finns några data i frågeresultatet eller om det senaste frågeresultatet inte innehöll den angivna värdekolumnen.

Skapa en avisering

Följ de här stegen för att skapa en avisering i en enda kolumn i en fråga.

  1. Gör något av följande:

    • Klicka på Ny ikonNytt i sidopanelen och välj Avisering.
    • Klicka på Ikon för aviseringarAviseringar i sidofältet och klicka på knappen + Ny avisering.
    • Klicka på ArbetsyteikonArbetsyta i sidofältet och klicka på + Skapa avisering.
    • Menyn Kebab Klicka på menyn för kebab i det övre högra hörnet av en sparad fråga och klicka på + Skapa avisering.
  2. I fältet Fråga söker du efter en målfråga.

    Målfråga

    Om du vill avisera om flera kolumner måste du ändra frågan. Se Aviseringsaggregeringar.

  3. I fältet Utlösarvillkor konfigurerar du aviseringen.

    • Listrutan Värdekolumn 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.

      Sammanställning av aviseringar

    • Listrutan Operator styr den logiska åtgärd som ska tillämpas.

    • Textinmatningen Tröskelvärdesvärde jämförs med kolumnen Värde med hjälp av villkoret som du anger.

    Utlösande villkor

  4. Klicka på Förhandsgranska avisering för att förhandsgranska aviseringen och testa om aviseringen skulle utlösas med aktuella data.

  5. I fältet När aviseringen utlöses skickar du meddelandefältet 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 till TRIGGERED.
    • 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 till TRIGGERED eller från TRIGGERED till OK. Schemainställningarna påverkar hur många meddelanden du får om statusen förblir TRIGGERED från en körning till en annan. Mer information finns i Meddelandefrekvens.

  6. 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.
      1. 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: Namnet på aviseringskolumnen (strängen).
        • 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).
        • 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}}.

      2. Du kan använda HTML för att formatera meddelanden i en anpassad mall. Följande taggar och attribut tillåts i mallar:

        • Taggar: <a>, <abbr>, <acronym>, <b>, <blockquote>, <body>, <br>, <code>, <div>, <em>, <h1>, <h2>, , <h4><h3>, <h5>, <h6<hr><head><html>>, <i>, <li>, <p><strong><span><ol>, <table>, <tbody>, <td>, , <th>, , , <tr><ul>
        • Attribut: href (för <a>), rubrik (för <a>, <abbr>, <acronym>)
      3. 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.

      4. Klicka på knappen Spara ändringar .

  7. Klicka på Skapa avisering.

  8. 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 ett annat lager för att köra den schemalagda frågan.
  9. Klicka på fliken Mål i dialogrutan Lägg till schema.

    Fliken Mål i dialogrutan Inställningar

    • Använd listrutan för att välja ett tillgängligt meddelandemål. 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.

  10. Klicka på Skapa. Den sparade aviserings- och meddelandeinformationen visas på skärmen.

    Sparad avisering

  11. Dela schemat.

    • Till höger om det angivna schemat väljer du Menyn Kebab menyn för 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 instrumentpanelsfrå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 listan med aviseringar så att de kan visa schemalagda körningsresultat.

  12. Dela aviseringen.

    • Klicka Knappen Dela 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.

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 OKaviseringsstatusen .

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 Just Oncepå 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.

  1. I sidofältet klickar du på Aviseringar.

  2. Klicka på en avisering.

  3. Knappen Dela Klicka på knappen längst upp till höger för att öppna dialogrutan Delning.

    Hantera aviseringsbehörigheter

  4. Sök efter och välj grupper och användare och tilldela behörighetsnivån.

  5. 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.

  1. Som arbetsyteadministratör loggar du in på din Azure Databricks-arbetsyta.

  2. I sidofältet klickar du på Aviseringar.

  3. Klicka på en avisering.

  4. Klicka på knappen Dela längst upp till höger för att öppna dialogrutan Delning.

  5. Klicka på kugghjulsikonen längst upp till höger och klicka på Tilldela ny ägare.

    Tilldela ny ägare

  6. Välj den användare som du vill tilldela ägarskap till.

  7. Klicka på Bekräfta.