Condividi tramite


Che cosa sono gli avvisi SQL di Databricks?

Gli avvisi SQL di Databricks eseguono periodicamente query, valutano le condizioni definite e inviano notifiche se viene soddisfatta una condizione. È possibile set avvisi per monitorare l'azienda e inviare notifiche quando i dati segnalati non rientrano nei limiti previsti. La pianificazione di un avviso esegue la query sottostante e controlla i criteri di avviso. Questa operazione è indipendente da qualsiasi pianificazione che potrebbe esistere nella query sottostante.

Importante

  • Gli avvisi che usano le query con parameters usano il valore predefinito specificato nell'editor SQL per ogni parametro.

Visualizzare e organizzare gli avvisi

Usare una delle opzioni seguenti per accedere agli avvisi:

  • Fare clic sull'icona dell'area di lavoro 'area di lavoro nella barra laterale per visualizzare gli avvisi nella cartella home , vengono archiviati per impostazione predefinita. Gli utenti possono organizzare gli avvisi in cartelle nel browser dell'area di lavoro insieme ad altri oggetti Databricks.
  • Fare clic su Icona AvvisiAvvisi nella barra laterale per visualizzare la pagina di presentazione degli avvisi.

Per impostazione predefinita, gli oggetti vengono ordinati in ordine cronologico inverso. È possibile riordinare il list facendo clic sulle intestazioni del column. Fare clic sulla scheda Tutti gli avvisi nella parte superiore della schermata per visualizzare tutti gli avvisi nell'area di lavoro. Fare clic sulla scheda Avvisi personali per visualizzare gli avvisi di cui sei il proprietario where.

  • Nome indica il nome della stringa di ogni avviso.
  • Stato indica se lo stato dell'avviso è TRIGGERED, OK o UNKNOWN.
  • Ultimo aggiornamento mostra l'ora o la data dell'ultimo aggiornamento.
  • Creato in indica la data e l'ora di creazione dell'avviso.
    • TRIGGERED significa che nell'esecuzione più recente, il valore column nella query di destinazione ha soddisfatto la condizione e la soglia configurata. Se l'avviso verifica se il valore "gatti" è superiore a 1500, l'avviso verrà attivato a condizione che esso sia superiore a 1500.
    • OK significa che nell'esecuzione della query più recente il valore column non soddisfa la condizione e la soglia configurata. Questo non significa che l'avviso non è stato attivato in precedenza. Se il valore "cats" è ora 1470, l'avviso verrà visualizzato come OK.
    • UNKNOWN indica che Databricks SQL non dispone di dati sufficienti per valutare i criteri di avviso. Questo stato verrà visualizzato immediatamente dopo la creazione dell'avviso e fino all'esecuzione della query. Questo stato verrà visualizzato anche se non sono presenti dati nel risultato della query oppure se il risultato della query più recente non include il valore Column configurato.

Creare un avviso

Segui questi passaggi per creare un avviso su un singolo column di una query.

  1. Esegui una delle operazioni seguenti:

    • Fare clic su Nuova iconaNuovo nella barra laterale e selectAvviso.
    • Fare clic su Icona AvvisiAvvisi nella barra laterale e fare clic sul pulsante + Nuovo avviso.
    • Fare clic su Icona Area di lavoroArea di lavoro nella barra laterale e fare clic su + Crea avviso.
  2. Nel campo Query cercare una query di destinazione.

    Query di destinazione

    Per generare un avviso su più columns, è necessario modificare la query. Vedere Aggregazioni di avvisi.

  3. Nel campo Condizione trigger configurare l'avviso.

    • L'elenco a discesa valore column controlla quale campo del risultato della query viene valutato. Le condizioni di avviso possono essere set sul primo valore di un column nel risultato della query oppure è possibile scegliere di set un'aggregazione in tutte le righe di un singolo column, ad esempio SUM o AVERAGE.

      Aggregazioni di avvisi

    • L'elenco a discesa Operatore controlla l'operazione logica da applicare.

    • Il valore soglia dell'input di testo viene confrontato con il valore column utilizzando la condizione che specifichi.

    Condizioni di trigger

  4. Fare clic su Anteprima avviso per visualizzare in anteprima l'avviso e verificare se l'avviso viene attivato con i dati correnti.

  5. Nel campo "Quando viene attivato l'avviso", inviare notifica, definisci nel campo select quante notifiche vengono inviate quando l'avviso viene attivato.

    • Una sola volta: inviare una notifica quando lo stato dell'avviso passa da OK a TRIGGERED.
    • Ogni volta che viene valutato l'avviso: inviare una notifica ogni volta che lo stato dell'avviso è TRIGGERED indipendentemente dallo stato della valutazione precedente.
    • Al massimo: inviare una notifica ogni volta che lo stato dell'avviso è TRIGGERED a un intervallo specifico. Questa scelta consente di evitare la posta indesiderata delle notifiche per gli avvisi che si attivano spesso.

    Indipendentemente dall'impostazione di notifica scelta, si riceve una notifica ogni volta che lo stato passa da OK o verso TRIGGEREDTRIGGERED .OK Le impostazioni di pianificazione influiscono sul numero di notifiche che riceverai se lo stato rimane TRIGGERED da un'esecuzione all'altra. Per informazioni dettagliate, vedere Frequenza di notifica.

  6. Nell'elenco a discesa Modello scegliere un modello:

    • Usare il modello predefinito: la notifica di avviso è un messaggio con collegamenti alla schermata di configurazione avviso e alla schermata Query.
    • Usare un modello personalizzato: la notifica di avviso include informazioni più specifiche sull'avviso.
      1. Viene visualizzata una casella costituita da campi di input per oggetto e corpo. Qualsiasi contenuto statico è valido ed è possibile incorporare variabili di modello predefinite:

        • ALERT_STATUS: stato dell'avviso valutato (stringa).
        • ALERT_CONDITION: operatore della condizione di avviso (stringa).
        • ALERT_THRESHOLD: soglia di avviso (stringa o numero).
        • ALERT_COLUMN: nome dell'avviso column (stringa).
        • ALERT_NAME: nome dell'avviso (stringa).
        • ALERT_URL: URL della pagina di avviso (stringa).
        • QUERY_NAME: nome della query associato (stringa).
        • QUERY_URL: URL della pagina di query associata (stringa).
        • QUERY_RESULT_TABLE: HTML del risultato della query table (stringa). I risultati sono limitati alle prime 100 righe.
        • QUERY_RESULT_VALUE: valore del risultato della query (stringa o numero).
        • QUERY_RESULT_ROWS: righe dei risultati della query (matrice di valori).
        • QUERY_RESULT_COLS: il risultato della query columns (matrice di stringhe).

        Un oggetto di esempio, ad esempio, potrebbe essere: Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}.

      2. È possibile usare HTML per formattare i messaggi in un modello personalizzato. Nei modelli sono consentiti i tag e gli attributi seguenti:

        • Tag: <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>
        • Attributi: href (per <a>), title (per <a>, <abbr>, <acronym>)
      3. Fare clic sul pulsante Anteprima per visualizzare in anteprima il risultato sottoposto a rendering.

        Importante

        L'anteprima è utile per verificare che il rendering delle variabili modello venga eseguito correttamente. Non è una rappresentazione accurata del contenuto di notifica finale, perché ogni destinazione di notifica può visualizzare le notifiche in modo diverso.

      4. Fare clic sul pulsante Salva modifiche .

  7. Fare clic su Crea avviso.

  8. Fare clic su Aggiungi pianificazione.

    • Usare le selezioni a discesa per specificare la frequenza, il periodo, l'orario di inizio e il fuso orario. Facoltativamente, casella di controllo Mostra sintassi cron per modificare la pianificazione in sintassi Cron.
    • Per visualizzare le impostazioni facoltative, scegliere Più opzioni. È anche possibile scegliere:
      • Un nome per il programma.
      • Un magazzino SQL per avviare la query. Per impostazione predefinita, il magazzino SQL usato per l'esecuzione di query ad hoc viene usato anche per un lavoro programmato. Usare questa impostazione facoltativa per select un warehouse diverso per eseguire la query pianificata.
  9. Fare clic sulla scheda Destinazioni nella finestra di dialogo Aggiungi pianificazione .

    Scheda Destinazioni nella finestra di dialogo Impostazioni

    • Usare l'elenco a discesa per select una destinazione di notifica disponibile. In alternativa, iniziare a digitare un nome utente per aggiungere singoli utenti.

    Importante

    Se si ignora questo passaggio , non si riceverà alcuna notifica quando viene attivato l'avviso.

  10. Cliccare su Crea. I dettagli dell'avviso e della notifica salvati vengono visualizzati sullo schermo.

    Avviso salvato

  11. Condividere la pianificazione.

    • A destra della pianificazione elencata, scegliere il menu kebab e selectModifica autorizzazioni della pianificazione.
    • Scegliere un utente o un gruppo dal menu a discesa nella finestra di dialogo.
    • Scegliere le autorizzazioni di pianificazione seguenti:
      • NESSUNA AUTORIZZAZIONE: non sono state concesse autorizzazioni. Gli utenti senza autorizzazioni non possono vedere che la pianificazione esiste, anche se sono sottoscrittori o inclusi nelle destinazioni di notifica elencate.
      • CAN VIEW: concede l'autorizzazione per visualizzare i risultati di esecuzione pianificati.
      • CAN MANAGE RUN: concede l'autorizzazione per visualizzare i risultati di esecuzione pianificati.
      • CAN MANAGE: concede l'autorizzazione per visualizzare, modificare ed eliminare pianificazioni. Questa autorizzazione è necessaria per apportare modifiche all'intervallo di esecuzione, update al sottoscrittore liste per sospendere o riavviare la pianificazione.
      • IS OWNER: concede tutte le autorizzazioni di CAN MANAGE. Inoltre, il credentials del proprietario della pianificazione verrà usato per eseguire query del dashboard. Solo un amministratore dell'area di lavoro può modificare il proprietario.

    Importante

    Le autorizzazioni per gli avvisi e le pianificazioni sono separate. Grant permetti l'accesso a utenti e gruppi nelle destinazioni delle notifiche list in modo da poter visualizzare i risultati delle esecuzioni pianificate.

  12. Condividere l'avviso.

    • Fare clic Pulsante Condividi in alto a destra nella pagina.
    • Aggiungere utenti o gruppi che devono avere accesso all'avviso.
    • Scegliere il livello di autorizzazione appropriato, quindi fare clic su Aggiungi.

Importante

CAN MANAGE concede l'autorizzazione per visualizzare, modificare ed eliminare pianificazioni. Questa autorizzazione è necessaria per apportare modifiche all'intervallo di esecuzione, update la destinazione di notifica liste sospendere o annullare ilpause la pianificazione.

Per altre informazioni sui livelli di autorizzazione degli avvisi, vedere ACL degli avvisi.

Aggregazioni di avvisi

Un'aggregazione in un avviso funziona modificando il codice SQL originale della query SQL di Databricks collegata all'avviso. L'avviso incorpora il testo della query originale in un'espressione comune table (CTE) ed esegue una query di aggregazione su di essa per aggregare il risultato della query.

Ad esempio, un'aggregazione SUM su un avviso collegato a una query con testo SELECT 1 AS column_name indica che ogni volta che viene aggiornato l'avviso, l'istanza sql modificata eseguita sarà : WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q.

Ciò significa che il risultato della query originale (preaggregato) non può essere visualizzato in un corpo personalizzato dell'avviso (con parameters, ad esempio QUERY_RESULT_ROWS e QUERY_RESULT_COLS) ogni volta che è presente un'aggregazione in un avviso. Queste variabili visualizzeranno invece solo il risultato finale della query post-aggregazione.

Nota

Tutte le condizioni di trigger correlate alle aggregazioni non sono supportate dall'API.

Avviso su più columns

Per set un avviso basato su più columns di una query, la query può implementare la logica di avviso e restituire un valore booleano per attivare l'avviso. Ad esempio:

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

Questa query restituisce 1 quando drafts_count > 10000 and archived_count > 5000. È quindi possibile configurare l'avviso per attivare quando il valore è 1.

Frequenza di notifica

Databricks SQL invia notifiche alle destinazioni di notifica scelte ogni volta che rileva che lo stato dell'avviso è cambiato da OK a TRIGGERED o viceversa. Si consideri questo esempio where un avviso è configurato in una query pianificata per l'esecuzione una volta al giorno. Nel seguente tableviene visualizzato lo stato giornaliero dell'avviso. Prima di lunedì lo stato dell'avviso era OK.

Giorno Stato avviso
lunedì OK
Martedì OK
mercoledì ATTIVATO
giovedì ATTIVATO
Venerdì ATTIVATO
Sabato ATTIVATO
Domenica OK

Se la frequenza di notifica è da set a Just Once, Databricks SQL invia una notifica mercoledì, quando lo stato cambia da OK a TRIGGERED, e di nuovo domenica quando lo stato torna a OK. Non invia avvisi giovedì, venerdì o sabato, a meno che non venga configurato specificamente in modo da farlo perché lo stato dell'avviso non è cambiato tra le esecuzioni in quei giorni.

Configurare le autorizzazioni di avviso e trasferire la proprietà degli avvisi

È necessario disporre almeno dell'autorizzazione CAN MANAGE per una query per condividere le query. Per i livelli di autorizzazione degli avvisi, vedere Elenchi di controllo di accesso per gli avvisi.

  1. Nella barra laterale fare clic su Avvisi.

  2. Fare clic su un avviso.

  3. Fare clic sul pulsante Pulsante Condividi in alto a destra per aprire la finestra di dialogo Condivisione.

    Gestire le autorizzazioni per gli avvisi

  4. Cerca e select i gruppi e gli utenti e assegna il livello di autorizzazione.

  5. Fare clic su Aggiungi.

Trasferire la proprietà di un avviso

Quando si salva un avviso, si diventa il proprietario dell'avviso. Se il proprietario di un avviso viene rimosso da un'area di lavoro, l'avviso non ha più un proprietario. Un utente amministratore dell'area di lavoro può trasferire la proprietà di un avviso a un utente diverso. Le entità servizio e i gruppi non possono essere assegnati alla proprietà di un avviso. È anche possibile trasferire la titolarità usando l'API delle autorizzazioni.

  1. Come amministratore dell'area di lavoro, accedere all'area di lavoro di Azure Databricks.

  2. Nella barra laterale fare clic su Avvisi.

  3. Fare clic su un avviso.

  4. Fare clic sul pulsante Condividi in alto a destra per aprire la finestra di dialogo Condivisione.

  5. Fare clic sull'icona a forma di ingranaggio in alto a destra e fare clic su Assegna nuovo proprietario.

    Assegna nuovo proprietario

  6. Select l'utente a cui assegnare la proprietà.

  7. Cliccare Conferma.