Mik azok a Databricks SQL-riasztások?

A Databricks SQL-riasztások rendszeresen futtatnak lekérdezéseket, kiértékelik a meghatározott feltételeket, és értesítéseket küldenek, ha teljesül egy feltétel. Riasztásokat állíthat be a vállalat figyelésére és értesítések küldésére, ha a jelentett adatok túllépik a várt korlátokat. A riasztás ütemezése végrehajtja a mögöttes lekérdezést, és ellenőrzi a riasztási feltételeket. Ez független az alapul szolgáló lekérdezésben esetlegesen előforduló ütemezéstől.

Riasztások megtekintése és rendszerezése

A riasztások eléréséhez használja az alábbi lehetőségek egyikét:

  • Munkaterület ikonjaAz oldalsáv munkaterületére kattintva megtekintheti a riasztásokat a Kezdőlap mappában, ahol a rendszer alapértelmezés szerint tárolja őket. A felhasználók a munkaterület böngészőjében mappákba rendezhetik a riasztásokat más Databricks-objektumokkal együtt.
  • A riasztások listaoldalának Riasztások ikonmegtekintéséhez kattintson az oldalsáv Riasztások elemére.

Alapértelmezés szerint az objektumok fordított időrendi sorrendben vannak rendezve. A lista átrendezéséhez kattintson az oszlopfejlécekre. Kattintson a képernyő tetején található Minden riasztás fülre a munkaterület összes riasztásának megtekintéséhez. Kattintson a Saját riasztások fülre a riasztások megtekintéséhez, ahol Ön a tulajdonos.

  • Az egyes riasztások neve a Név oszlopban olvasható.
  • Az Állapot jelzi, hogy a riasztás állapota TRIGGERED, OK vagy UNKNOWN.
  • A legutóbbi frissítés az utolsó frissítés időpontját vagy dátumát jeleníti meg.
  • A riasztás létrehozásának dátumát és időpontját jeleníti meg.
    • A TRIGGERED azt jelenti, hogy a legutóbbi végrehajtáskor a célként megadott lekérdezés Érték oszlopa megfelelt a konfigurált feltételnek és küszöbértéknek. Ha a riasztás ellenőrzi, hogy a „macskák” értéke meghaladja-e az 1500-at, a riasztás akkor aktiválódik, ha a „macskák” értéke 1500-nál nagyobb.
    • Az OK azt jelenti, hogy a legutóbbi végrehajtáskor a lekérdezés Érték oszlopa nem felelt meg a konfigurált feltételnek és küszöbértéknek. Ez nem jelenti azt, hogy a riasztás korábban nem aktiválódott. Ha a "macskák" értéke most 1470, a riasztás a következőképpen jelenik meg OK: .
    • UNKNOWN azt jelenti, hogy a Databricks SQL-nek nincs elegendő adata a riasztási feltételek kiértékeléséhez. Ezt az állapotot közvetlenül a riasztás létrehozása után és a lekérdezés végrehajtásáig fogja látni. Akkor is látni fogja ezt az állapotot, ha a lekérdezés eredménye semmilyen adatot nem tartalmaz, vagy ha a legutóbbi lekérdezés eredménye nem tartalmazza a beállított Érték oszlopot.

Riasztás létrehozása

Az alábbi lépésekkel riasztást hozhat létre egy lekérdezés egyetlen oszlopán.

  1. Hajtsa végre a megfelelő műveletet:

    • Kattintson az Új gombra Új ikonaz oldalsávon, és válassza a Riasztás lehetőséget.
    • Kattintson Riasztások ikona Riasztások elemre az oldalsávon, és kattintson az + Új riasztás gombra.
    • Kattintson Munkaterület ikonjaa Munkaterület elemre az oldalsávon, és kattintson a + Riasztás létrehozása parancsra.
    • Kattintson a Kebab menü mentett lekérdezés jobb felső sarkában található kebab menüre, majd a + Riasztás létrehozása parancsra.
  2. A Lekérdezés mezőben keressen egy cél lekérdezést.

    Cél lekérdezés

    Több oszlop riasztásához módosítania kell a lekérdezést. Lásd a riasztások összesítéseit.

  3. A Trigger feltétel mezőjében konfigurálja a riasztást.

    • Az Érték oszlop legördülő lista szabályozza, hogy a lekérdezés eredményének melyik mezője lesz kiértékelve. A riasztási feltételek beállíthatók egy oszlop első értékére a lekérdezés eredményében, vagy beállíthatja az összesítést egyetlen oszlop összes sorában, például SZUM vagy ÁTLAG.

      Riasztások összesítése

    • Az Operátor legördülő menü szabályozza az alkalmazni kívánt logikai műveletet.

    • A küszöbérték szöveges bemenete az Érték oszlophoz képest a megadott feltétel használatával lesz összehasonlítva.

    Aktiválási feltételek

  4. Az Előzetes verziójú riasztás elemre kattintva megtekintheti a riasztás előnézetét, és tesztelheti, hogy a riasztás aktiválódik-e az aktuális adatokkal.

  5. A Riasztás indításakor értesítés küldése mezőben adja meg, hogy hány értesítés érkezik a riasztás aktiválásakor:

    • Csak egyszer: Értesítés küldése, ha a riasztás állapota változik OKTRIGGERED.
    • Minden riasztás kiértékelése: Értesítést küld, ha a riasztás állapota az előző kiértékeléskor állapotától függetlenül van TRIGGERED .
    • Legfeljebb minden: Értesítést küld, ha a riasztás állapota adott időközönként van TRIGGERED . Ezzel a beállítással elkerülheti a gyakran aktivált riasztások értesítési levélszemétét.

    Függetlenül attól, hogy melyik értesítési beállítást választja, értesítést kap, amikor az állapot a következőre vagy oda kerül OKTRIGGEREDTRIGGEREDOK. Az ütemezési beállítások befolyásolják, hogy hány értesítést kap, ha az állapot az egyik végrehajtástól a következőig marad TRIGGERED . További információ: Értesítés gyakorisága.

  6. A Sablon legördülő listában válasszon egy sablont:

    • Alapértelmezett sablon használata: A riasztási értesítés egy üzenet, amely a Riasztás konfigurációs képernyőjére és a Lekérdezés képernyőre mutató hivatkozásokat tartalmaz.
    • Egyéni sablon használata: A riasztási értesítés pontosabb információkat tartalmaz a riasztásról.
      1. Megjelenik egy mező, amely a tárgy és a törzs beviteli mezőiből áll. Bármely statikus tartalom érvényes, és beépített sablonváltozókat is beépíthet:

        • ALERT_STATUS: A kiértékelt riasztás állapota (sztring).
        • ALERT_CONDITION: A riasztási feltétel operátora (sztring).
        • ALERT_THRESHOLD: A riasztás küszöbértéke (sztring vagy szám).
        • ALERT_COLUMN: A riasztási oszlop neve (sztring).
        • ALERT_NAME: A riasztás neve (sztring).
        • ALERT_URL: A riasztási oldal URL-címe (sztring).
        • QUERY_NAME: A társított lekérdezés neve (sztring).
        • QUERY_URL: A társított lekérdezésoldal URL-címe (sztring).
        • QUERY_RESULT_TABLE: A lekérdezés eredménye HTML-táblázat (sztring).
        • QUERY_RESULT_VALUE: A lekérdezés eredményének értéke (sztring vagy szám).
        • QUERY_RESULT_ROWS: A lekérdezés eredménysorai (értéktömb).
        • QUERY_RESULT_COLS: A lekérdezés eredményoszlopai (sztringtömb).

        Példa tárgya például a következő lehet: Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}.

      2. A HTML használatával formázhatja az üzeneteket egy egyéni sablonban. A sablonokban a következő címkék és attribútumok engedélyezettek:

        • Címkék: <a>, <abbr>, <acronym>, <b>, <blockquote>, <body><br>, <code>, , <div>, <em>, <h1>, <h2>, , <h3>, <h4>, <h6<head><h5><html>><hr><i>, , <tbody><table><tr><p><th><span><td><strong><li><ol><ul>
        • Attribútumok: href (for <a>), title (for <a>, <abbr>, <acronym>)
      3. Kattintson az Előnézet váltógombra a renderelt eredmény előnézetének megtekintéséhez.

        Fontos

        Az előzetes verzió hasznos annak ellenőrzéséhez, hogy a sablonváltozók megfelelően vannak-e renderelve. Ez nem a végleges értesítési tartalom pontos ábrázolása, mivel minden értesítési cél eltérően jelenítheti meg az értesítéseket.

      4. Kattintson a Módosítások mentése gombra.

  7. Kattintson a Riasztás létrehozása gombra.

  8. Kattintson az Ütemezés hozzáadása elemre.

    • A legördülő listaválasztókkal megadhatja a gyakoriságot, az időszakot, a kezdési időt és az időzónát. Ha szeretné, jelölje be a Cron szintaxis megjelenítése jelölőnégyzetet az ütemezés kvarc cron szintaxisban való szerkesztéséhez.
    • Az opcionális beállítások megjelenítéséhez válassza a További beállítások lehetőséget . A következőket is választhatja:
      • Az ütemezés neve.
      • Egy SQL-raktár, amely a lekérdezést űzheti. Alapértelmezés szerint az alkalmi lekérdezések végrehajtásához használt SQL Warehouse is használható ütemezett feladatokhoz. Ezzel az opcionális beállítással válasszon ki egy másik raktárat az ütemezett lekérdezés futtatásához.
  9. Kattintson a Célhelyek fülre az Ütemezés hozzáadása párbeszédpanelen.

    A Beállítások párbeszédpanel Célhelyek lapja

    • A legördülő menüben válasszon ki egy elérhető értesítési célt. Vagy kezdjen el begépelni egy felhasználónevet az egyének hozzáadásához.

    Fontos

    Ha kihagyja ezt a lépést, nem fog értesítést kapni a riasztás aktiválásakor.

  10. Kattintson a Létrehozás gombra. A mentett riasztás és értesítés részletei megjelennek a képernyőn.

    Mentett riasztás

  11. Ossza meg az ütemtervet.

    • A felsorolt ütemezéstől jobbra válassza a kebab menüt, és válassza az Kebab menü Ütemezési engedélyek szerkesztése lehetőséget.
    • Válasszon ki egy felhasználót vagy csoportot a párbeszédpanel legördülő menüjéből.
    • Válasszon az alábbi ütemezési engedélyek közül:
      • NINCS ENGEDÉLY: Nincs engedély megadva. Az engedélyekkel nem rendelkező felhasználók nem láthatják, hogy az ütemezés létezik, még akkor sem, ha előfizetők, vagy szerepelnek a listán szereplő értesítési célhelyeken.
      • CAN VIEW: Engedélyt ad az ütemezett futtatási eredmények megtekintésére.
      • FUTTATÁS KEZELÉSE: Engedélyt ad az ütemezett futtatási eredmények megtekintésére.
      • CAN MANAGE: Engedélyt ad az ütemezések megtekintésére, módosítására és törlésére. Ez az engedély szükséges a futtatási időköz módosításához, az előfizetői lista frissítéséhez, valamint az ütemezés szüneteltetéséhez vagy megszüntetéséhez.
      • TULAJDONOS: A CAN MANAGE összes engedélyét megadja. Emellett az ütemezés tulajdonosának hitelesítő adataival irányítópult-lekérdezéseket is futtathat. A tulajdonost csak a munkaterület rendszergazdája módosíthatja.

    Fontos

    A riasztásokhoz és az ütemezésekhez tartozó engedélyek külön-külön vannak. Hozzáférést biztosíthat a felhasználóknak és csoportoknak az értesítési célhelyek listájában, hogy megtekinthessék az ütemezett futtatási eredményeket.

  12. Ossza meg a riasztást.

    • Kattintson Megosztás gomb a lap jobb felső sarkához.
    • Adjon hozzá felhasználókat vagy csoportokat, akiknek hozzáféréssel kell rendelkezniük a riasztáshoz.
    • Válassza ki a megfelelő jogosultsági szintet, majd kattintson a Hozzáadás gombra.

Fontos

A CAN MANAGE engedélyezi az ütemezések megtekintését, módosítását és törlését. Ez az engedély szükséges a futtatási időköz módosításához, az értesítés céllistájának frissítéséhez, valamint az ütemezés szüneteltetéséhez vagy megszüntetéséhez.

A riasztási jogosultsági szintekről további információt a Riasztási ACL-ek című témakörben talál.

Riasztások összesítése

A riasztások összesítése a riasztáshoz csatolt Databricks SQL-lekérdezés eredeti SQL-jének módosításával működik. A riasztás egy közös táblakifejezésben (CTE) körbefuttatja az eredeti lekérdezés szövegét, és egy sortöréses összesítő lekérdezést hajt végre rajta a lekérdezés eredményének összesítéséhez.

Például egy SUM lekérdezéshez csatolt, szöveggel SELECT 1 AS column_name ellátott riasztás összesítése azt jelenti, hogy a riasztás frissítésekor a futtatott módosított SQL a következő lesz: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q.

Ez azt jelenti, hogy az eredeti lekérdezési eredmény (előre összesítve) nem jeleníthető meg egy riasztás egyéni törzsében (például QUERY_RESULT_ROWS és QUERY_RESULT_COLS) akkor, ha egy riasztás összesítése történik. Ehelyett ezek a változók csak a végső, összesítés utáni lekérdezés eredményét jelenítik meg.

Feljegyzés

Az API nem támogatja az összesítéshez kapcsolódó triggerfeltételeket.

Több oszlopra kiterjedő riasztás

Ha egy lekérdezés több oszlopa alapján szeretne riasztást beállítani, a lekérdezés implementálhatja a riasztás logikáját, és visszaadhatja a riasztás logikai értékét, amely aktiválódik. Példa:

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

Ez a lekérdezés akkor ad 1 vissza, ha drafts_count > 10000 and archived_count > 5000. Ezután konfigurálhatja a riasztást úgy, hogy aktiválja az értéket 1.

Értesítés gyakorisága

A Databricks SQL értesítéseket küld a kiválasztott értesítési célhelyeknek, amikor észleli, hogy a riasztás állapota át lett váltva OKTRIGGERED vagy fordítva. Vegyük ezt a példát, amikor egy riasztás egy olyan lekérdezésen van konfigurálva, amely naponta egyszer fut. A riasztás napi állapota az alábbi táblázatban jelenik meg. Hétfő előtt a riasztás állapota a következő volt OK: .

Nap Riasztás állapota
Hétfő OK
Kedd OK
Szerda KIVÁLTOTT
Csütörtök KIVÁLTOTT
Péntek KIVÁLTOTT
Szombat KIVÁLTOTT
Vasárnap OK

Ha az értesítés gyakorisága be van állítvaJust Once, a Databricks SQL szerdán értesítést küld, amikor az állapot vasárnapra vált TRIGGEREDOK, amikor visszavált. Nem küld riasztásokat csütörtökön, pénteken vagy szombaton, kivéve, ha kifejezetten erre konfigurálja, mert a riasztás állapota nem változott az adott napokon végrehajtott végrehajtások között.

Riasztási engedélyek konfigurálása és a riasztás tulajdonjogának átadása

A lekérdezések megosztásához legalább a CAN MANAGE engedéllyel kell rendelkeznie egy lekérdezéshez. A riasztási jogosultsági szintekről a Riasztások ACL-jei című témakörben olvashat.

  1. Az oldalsávon kattintson a Riasztások elemre.

  2. Kattintson egy riasztásra.

  3. Kattintson a Megosztás gomb jobb felső gombra a Megosztás párbeszédpanel megnyitásához.

    Riasztási engedélyek kezelése

  4. Keresse meg és jelölje ki a csoportokat és a felhasználókat, és rendelje hozzá az engedélyszintet.

  5. Kattintson a Hozzáadás gombra.

Riasztás tulajdonjogának átadása

A riasztások mentésekor ön lesz a riasztás tulajdonosa. Ha egy riasztás tulajdonosa el lett távolítva egy munkaterületről, a riasztásnak már nincs tulajdonosa. A munkaterület-rendszergazdai felhasználók átadhatják a riasztások tulajdonjogát egy másik felhasználónak. A szolgáltatásnevek és -csoportok nem rendelhetők hozzá a riasztások tulajdonjogához. A tulajdonjogot az Engedélyek API-val is átadhatja.

  1. Munkaterület-rendszergazdaként jelentkezzen be az Azure Databricks-munkaterületre.

  2. Az oldalsávon kattintson a Riasztások elemre.

  3. Kattintson egy riasztásra.

  4. A Megosztás párbeszédpanel megnyitásához kattintson a jobb felső sarokban található Megosztás gombra.

  5. Kattintson a fogaskerék ikonra a jobb felső sarokban, és kattintson az Új tulajdonos hozzárendelése parancsra.

    Új tulajdonos hozzárendelése

  6. Válassza ki azt a felhasználót, akihez tulajdonost szeretne hozzárendelni.

  7. Kattintson a Megerősítés gombra.