Condividi tramite


Avvisi SQL di Databricks

Importante

Questa funzionalità è in Anteprima Pubblica.

Questa pagina fornisce istruzioni dettagliate per l'abilitazione e l'uso degli avvisi SQL di Databricks per automatizzare l'esecuzione delle query, valutare le condizioni personalizzate e recapitare notifiche quando tali condizioni vengono soddisfatte. Con gli avvisi, è possibile monitorare in modo proattivo i dati aziendali e ricevere notifiche tempestive ogni volta che i valori segnalati non rientrano nelle soglie previste. Quando si pianifica un avviso, viene eseguita la query associata e vengono controllati i criteri di avviso, indipendentemente dalle pianificazioni esistenti nella query sottostante. Inoltre, è possibile accedere a una cronologia degli avvisi per esaminare i risultati delle valutazioni degli avvisi precedenti.

Per informazioni su come usare gli avvisi legacy, vedere Che cosa sono gli avvisi legacy?.

Abilitare gli avvisi nell'area di lavoro

Gli amministratori dell'area di lavoro possono controllare l'accesso dell'area di lavoro a questa anteprima dalla pagina Anteprime. L'abilitazione di questa anteprima non influisce sugli avvisi esistenti; è possibile continuare a usare questi avvisi e legacy in parallelo.

Visualizzare e organizzare gli avvisi

Fare clic sull'icona Avvisi nella barra laterale per aprire la pagina di presentazione degli avvisi.

Pagina di presentazione degli avvisi.

  • La scheda Avvisi è aperta per impostazione predefinita e visualizza tutti gli avvisi nell'area di lavoro. È possibile digitare per filtrare in base al nome. Fare clic su Solo gli avvisi personali per visualizzare solo gli avvisi in cui si è il proprietario.

  • La scheda Avvisi legacy mostra gli avvisi creati usando il sistema di avvisi precedente.

  • Nome indica il nome della stringa di ogni avviso.

  • Lo stato indica se lo stato dell'avviso è TRIGGERED, OKo ERROR.

  • Programma mostra l'ora o la data dell'ultimo aggiornamento.

  • Il proprietario mostra il nome utente della persona proprietaria dell'avviso.

  • 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 controlla se "gatti" è superiore a 1500, l'avviso verrà attivato ogni volta che "gatti" è 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.
    • ERROR indica che si è verificato un errore durante la valutazione dell'avviso.

Creare un avviso

I passaggi descritti in questa sezione illustrano come creare l'avviso illustrato nell'immagine seguente. Usare le etichette e le spiegazioni per comprendere ogni componente.

L'interfaccia utente di creazione dell'avviso viene visualizzata con etichette numerate che identificano parti diverse.

  1. Editor di query: Scrivere e testare la query su cui si vuole inviare un avviso.

  2. Programma: Impostare una pianificazione periodica per l'esecuzione dell'avviso.

  3. Condizione: Selezionare la soglia del valore che deve attivare una notifica di avviso. È possibile eseguire la query per testare la condizione in questa sezione.

  4. Notifiche: Indicare quali utenti o destinazioni di notifica devono essere avvisati quando il valore soglia non rientra nell'intervallo previsto.

  5. Avanzato: Usare le impostazioni avanzate per inviare avvisi su valori e condizioni speciali.

Importante

Durante il periodo di anteprima pubblica, gli avvisi non supportano le query con parametri. Consulta Che cosa sono gli avvisi legacy?.

Per creare un avviso, seguire questa procedura:

  1. Fare clic su Icona AvvisiAvvisi nella barra laterale e fare clic su Crea Avviso.

  2. Copiare e incollare la query seguente nell'editor di query. Fare clic su Esegui tutto (1000). Per altre informazioni sull'uso dell'editor SQL, vedere Scrivere query ed esplorare i dati nel nuovo editor SQL.

    SELECT
      to_date(tpep_pickup_datetime) as date,
      SUM(fare_amount) as amount
    FROM
      `samples`.`nyctaxi`.`trips`
    GROUP BY
      ALL
    ORDER BY
      1 DESC
    
    
  3. Nel campo Condizione impostare le condizioni che devono attivare l'avviso.

    Campo Condizione con le impostazioni applicate come nel testo seguente.

    Applicare le impostazioni seguenti, come illustrato:

    • Selezionare Somma come valore di dati da controllare. 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.
    • Selezionare amount come colonna da controllare.
    • Selezionare > (maggiore di) come operatore logico da applicare.
    • Impostare il valore soglia su Static value 4000. Il valore statico è selezionato per impostazione predefinita. Immettere 4000 nel campo valore.
  4. Fare clic su Test condizione per visualizzare in anteprima l'avviso e verificare se l'avviso viene attivato con i dati correnti. Le impostazioni specificate devono attivare l'avviso. È possibile modificare il valore soglia per testare ulteriormente.

  5. Nella sezione Notifiche cercare il nome utente e fare clic su di esso quando viene visualizzato.

  6. Fare clic sull'icona Calendario. L'icona del calendario per aprire la finestra di dialogo Modifica pianificazione . Utilizzare i menu a discesa per impostare l'avviso in modo che venga eseguito ogni 5minuti da 0 minuti dopo l'inizio dell'ora. Fare clic su Salva. Facoltativamente, selezionare la casella di controllo Mostra sintassi cron per modificare la pianificazione in sintassi Quartz Cron .

  7. Fare clic su Visualizza avviso.

L'avviso viene salvato ed eseguito in base alla pianificazione specificata. I dati usati in questo esempio sono statici, quindi se la condizione test restituita come attivata, verrà nuovamente eseguita la volta successiva. Si riceve una notifica tramite posta elettronica come avviso. Se la condizione test ha restituito OK, non viene inviata alcuna notifica.

Esaminare i dettagli dell'avviso

Verrà visualizzata una pagina per visualizzare i dettagli dell'avviso. Inoltre, viene visualizzata una cronologia degli avvisi con i dettagli della cronologia di valutazione. Fare clic sul pulsante Esegui adesso per eseguire immediatamente la query di avviso e restituire il risultato in questa schermata.

Fare clic su Modifica nell'angolo superiore destro della pagina per continuare a modificare l'avviso.

Impostazioni avanzate

Fare clic su Impostazioni avanzate per applicare le impostazioni seguenti:

  • Inviare una notifica su ok: Inviare una notifica quando l'avviso viene restituito come OK.

  • Frequenza di notifica: Inviare periodicamente notifiche relative a un avviso fino a quando lo stato non torna a OK.

  • Stato risultato vuoto: Impostare uno stato speciale da restituire quando la query non restituisce risultati.

  • Template: Puoi scegliere di inviare notifiche usando il template predefinito o un template personalizzato. L'elenco seguente illustra ogni tipo di 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_RESULT_TABLE: tabella HTML del risultato della query (stringa). I risultati sono limitati alle prime 100 righe. Solo le destinazioni di notifica tramite posta elettronica possono eseguire il rendering html.
        • 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. Solo le destinazioni di notifica tramite posta elettronica possono eseguire il rendering html. Nei modelli sono consentiti i tag e gli attributi seguenti:

        • Tag consentiti: <a>, <b>, <blockquote>, <br>, <code>, <del>, <div>, <em>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <hr>, <i>, <img>, <li>, <ol>, <p>, <pre>, <span>, <table>, <thread>, <tbody>, <td>, <th>, <tr>, <u>, <ul>

        • Attributi consentiti:

          Attributo Tag supportati
          href <a>
          title <img>
          target <a>
          alt <img>
          src <img>
          start <b>, <blockquote>, <code>, <del>, <em><hr>, <i>, , <pre><u>
      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.

Gli amministratori dell'area di lavoro possono configurare nuove destinazioni di notifica. Vedere Gestire le destinazioni di notifica.

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.

Avviso per le visualizzazioni delle metriche

Poiché le visualizzazioni delle metriche sono progettate per tenere traccia e misurare le metriche aziendali principali, sono abbinate bene agli avvisi in modo che sia possibile ricevere automaticamente una notifica quando una metrica non rientra in un intervallo previsto. Gli avvisi sulle visualizzazioni delle metriche funzionano allo stesso modo di un avviso in qualsiasi altro set di dati. Durante la scrittura della query per configurarla, utilizzare il nome completo qualificato della vista delle metriche che si desidera monitorare.

Funzionamento dell'integrazione di Git con gli avvisi

È possibile usare le cartelle Git di Databricks per tenere traccia e gestire le modifiche apportate agli avvisi. Per tenere traccia degli avvisi con Git, inserirli in una cartella Git di Databricks. Gli avvisi appena clonati vengono visualizzati solo nella pagina dell'elenco degli avvisi o nell'API dopo che un utente interagisce con loro. Hanno sospeso le pianificazioni e devono essere riprese in modo esplicito dagli utenti.

Le cartelle Git di Databricks offrono un modo centralizzato per gestire le operazioni Git comuni per gli avvisi e altri oggetti dell'area di lavoro. Per altre informazioni, vedere Cartelle Git di Azure Databricks.

Differenze rispetto agli avvisi di tipo legacy

La versione più recente degli avvisi SQL di Databricks si comporta in modo diverso dagli avvisi legacy in alcuni modi chiave:

  • Integrazione dei Jobs: La versione più recente non supporta ancora il riferimento diretto a un avviso nella pipeline dei Jobs. Questa funzionalità sarà presto disponibile. Gli avvisi legacy supportano il tipo di attività Avvisi in Attività.
  • Riutilizzo delle query: Non è possibile riutilizzare una query SQL salvata esistente durante la creazione di un avviso. Ogni avviso è proprietario della relativa definizione di query, che può essere creata direttamente nel nuovo editor di avvisi.
  • Valori dello stato dell'avviso: Gli stati di avviso sono semplificati e gli avvisi non supportano più lo UNKNOWN stato degli avvisi legacy. Le valutazioni si risolvono in OK, TRIGGEREDo ERROR.

È possibile continuare a usare sia gli avvisi più recenti che gli avvisi legacy affiancati durante la transizione.

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

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 su Condividi nell'angolo superiore destro della pagina dei dettagli dell'avviso 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. È 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.