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 configurare 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 parametri 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 area di lavoro area di lavoro nella barra laterale per visualizzare gli avvisi nella cartella home , in cui sono 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 l'elenco facendo clic sulle intestazioni di colonna. 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 in cui si è il proprietario.

  • 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, la colonna Valore 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 la colonna Valore 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 o se il risultato della query più recente non include la colonna valore configurata.

Creare un avviso

Seguire i seguenti passaggi per creare un avviso in una singola colonna di una query.

  1. Esegui una delle operazioni seguenti:

    • Fare clic su Nuova iconaNuovo nella barra laterale e selezionare Avviso.
    • 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 inviare un avviso su più colonne, è necessario modificare la query. Vedere Aggregazioni di avvisi.

  3. Nel campo Condizione trigger configurare l'avviso.

    • Il controllo a discesa della colonna Valore determina quale campo del risultato della query viene valutato. Le condizioni di avviso possono essere impostate sul primo valore di una colonna nel risultato della query oppure è possibile scegliere di impostare un'aggregazione in tutte le righe di una singola colonna, ad esempio SUM o AVERAGE.

      Aggregazioni di avvisi

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

    • Il valore soglia input di testo viene confrontato con la colonna Valore usando la condizione specificata.

    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 la notifica campo, selezionare il numero di notifiche inviate quando viene attivato l'avviso:

    • 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 della colonna di avviso (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: tabella HTML del risultato della query (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: colonne dei risultati della query (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, selezionare la casella di controllo Mostra sintassi cron per modificare la pianificazione in sintassi Quartz 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. Utilizzare questa impostazione facoltativa per selezionare un magazzino 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 selezionare 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 del programma elencato, scegliere il menu kebab e selezionare Modifica autorizzazioni del programma.
    • 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, aggiornare l'elenco dei sottoscrittori e sospendere o rimuovere la pianificazione.
      • IS OWNER: concede tutte le autorizzazioni di CAN MANAGE. Inoltre, le credenziali del proprietario della pianificazione verranno usate per eseguire le query della dashboard. Solo un amministratore dell'area di lavoro può modificare il proprietario.

    Importante

    Le autorizzazioni per gli avvisi e le pianificazioni sono separate. Concedere l'accesso a utenti e gruppi nell'elenco delle destinazioni delle notifiche in modo che possano visualizzare i risultati di esecuzione pianificati.

  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, aggiornare l'elenco delle destinazioni delle notifiche e sospendere o riprendere il programma.

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 avvolge il testo della query originale in un'espressione di tabella comune (CTE) ed esegue su di esso una query di aggregazione per raccogliere 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 parametri come 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ù colonne

Per impostare un avviso in base a più colonne 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. Considera questo esempio in cui un avviso di alert è configurato su una query pianificata per essere eseguita una volta al giorno. Lo stato giornaliero dell'avviso viene visualizzato nella tabella seguente. 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 è impostata su Just Once, Databricks SQL invia una notifica mercoledì quando lo stato è cambiato da OK a TRIGGERED e di nuovo domenica quando torna indietro. 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. Cercare e selezionare i gruppi e gli utenti e assegnare 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. Selezionare l'utente a cui assegnare la proprietà.

  7. Cliccare Conferma.