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.
Fontos
- A lekérdezéseket paraméterekkel használó riasztások az SQL-szerkesztőben megadott alapértelmezett értéket használják minden paraméterhez.
Riasztások megtekintése és rendszerezése
A riasztások eléréséhez használja az alábbi lehetőségek egyikét:
- Kattintson a
Munkaterület az oldalsávon a riasztások megtekintéséhez a Kezdőlap mappában, ahol alapértelmezés szerint vannak tárolva. 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
megtekintéséhez kattintson az oldalsáv Riasztások elemére.
Alapértelmezés szerint az objektumok fordított időrendi sorrendben vannak rendezve. Az oszlopfejlécekre kattintva átrendezheti a listát. 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
vagyUNKNOWN
. - 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.
-
TRIGGERED
azt jelenti, hogy a legutóbbi végrehajtás során a cél 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. -
OK
azt jelenti, hogy a legutóbbi lekérdezés végrehajtása során az Érték oszlop 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 megOK
: . -
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. Ez az állapot akkor is megjelenik, ha a lekérdezés eredménye nem tartalmaz adatokat, vagy ha a legutóbbi lekérdezési eredmény nem tartalmazza a konfigurált értékoszlopot.
-
Riasztás létrehozása
Az alábbi lépésekkel riasztást hozhat létre egy lekérdezés egyetlen oszlopán.
Hajtsa végre a megfelelő műveletet:
- Kattintson
Új elemre az oldalsávon, és válassza Riasztáslehetőséget.
- Kattintson
a Riasztások elemre az oldalsávon, és kattintson az + Új riasztás gombra.
- Kattintson
a Munkaterület elemre az oldalsávon, és kattintson a + Riasztás létrehozása parancsra.
- Kattintson
A Lekérdezés mezőben keressen egy cél lekérdezést.
Több oszlop riasztásához módosítania kell a lekérdezést. Lásd a riasztások összesítéseit.
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őjét értékeli ki a rendszer. 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.
Az Operátor legördülő menü szabályozza az alkalmazni kívánt logikai műveletet.
A Küszöbérték szövegbevitel az Érték oszlop értékeivel kerül összehasonlításra az Ön által megadott feltétel használatával.
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.
A Riasztás aktiválásakor küldjön értesítést 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
OK
TRIGGERED
. -
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
OK
TRIGGERED
TRIGGERED
OK
. 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 maradTRIGGERED
. További információ: Értesítés gyakorisága.-
Csak egyszer: Értesítés küldése, ha a riasztás állapota változik
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.
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 (karakterlánc). -
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ábla (sztring). Az eredmények az első 100 sorra korlátozódnak. Csak az e-mail-értesítések célhelyei jeleníthetnek meg HTML-t. -
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}}
.-
A HTML használatával formázhatja az üzeneteket egy egyéni sablonban. Csak az e-mail-értesítések célhelyei jeleníthetnek meg HTML-t. 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>
,<h5
><h6
><head
><hr>
<html>
<i>
, ,<li>
<ol>
<p>
<span>
<strong>
<table>
<tbody>
<td>
<th>
<tr>
<ul>
- Attribútumok: href (for
<a>
), title (for<a>
,<abbr>
,<acronym>
)
- Címkék:
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.
Kattintson a Módosítások mentése gombra.
Kattintson a Riasztás létrehozása gombra.
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 szerkesztéséhez Quartz Cron Szintaxis.
- 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.
Kattintson a Célhelyek fülre az Ütemezés hozzáadása párbeszédpanelen.
- A legördülő menüben válasszon ki egy elérhető értesítési célhelyet. 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.
Kattintson a Létrehozás gombra. A mentett riasztás és értesítés részletei megjelennek a képernyőn.
Ossza meg az ütemtervet.
- A felsorolt ütemezéstől jobbra válassza a
kebab menüt, majd válassza Ütemezési engedélyek szerkesztéselehető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.
- A felsorolt ütemezéstől jobbra válassza a
Ossza meg a riasztást.
- Kattintson
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.
- Kattintson
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 (olyan paraméterekkel, mint a QUERY_RESULT_ROWS
és a QUERY_RESULT_COLS
), amikor 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.
Riasztás több oszlop esetén
Ha egy lekérdezés több oszlopa alapján szeretne riasztást beállítani, a lekérdezés megvalósíthatja a riasztási logikát, és visszaadhat egy logikai értéket, ami a riasztást kiváltja. 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 OK
TRIGGERED
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 Just Once
értékre van állítva, a Databricks SQL szerdán értesítést küld, amikor az állapot OK
-ról TRIGGERED
-ra változott, majd vasárnap, 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.
Az oldalsávon kattintson a Riasztások elemre.
Kattintson egy riasztásra.
Kattintson a
jobb felső gombra a Megosztás párbeszédpanel megnyitásához.
Keresse meg és jelölje ki a csoportokat és a felhasználókat, és rendelje hozzá az engedélyszintet.
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.
Munkaterület-rendszergazdaként jelentkezzen be az Azure Databricks-munkaterületre.
Az oldalsávon kattintson a Riasztások elemre.
Kattintson egy riasztásra.
A Megosztás párbeszédpanel megnyitásához kattintson a jobb felső sarokban található Megosztás gombra.
Kattintson a fogaskerék ikonra a jobb felső sarokban, és kattintson az Új tulajdonos hozzárendelése parancsra.
Válassza ki azt a felhasználót, akihez tulajdonost szeretne hozzárendelni.
Kattintson a Megerősítés gombra.