Elaborare i dati degli eventi con l'editor del processore di eventi

Il processore di eventi in una destinazione Lakehouse consente di elaborare i dati prima di essere inseriti nel lakehouse. L'editor del processore di eventi è un'esperienza senza codice che consente di trascinare e rilasciare per progettare la logica di elaborazione dei dati dell'evento. Questo articolo descrive come usare l'editor per progettare la logica di elaborazione.

Prerequisiti

Prima di iniziare, è necessario completare i prerequisiti seguenti:

  • Ottenere l'accesso a un'area di lavoro Premium con autorizzazioni di collaboratore o superiore in cui si trova il flusso di eventi.
  • Ottenere l'accesso a un'area di lavoro Premium con autorizzazioni di collaboratore o superiore in cui si trova il lakehouse.

Progettare l'elaborazione degli eventi con l'editor

Per progettare l'elaborazione degli eventi con l'editor del processore di eventi:

  1. Aggiungere una destinazione Lakehouse e immettere i parametri necessari nel riquadro destro. (Vedere Aggiungere e gestire una destinazione in un flusso di eventi per istruzioni dettagliate. )

  2. Selezionare Apri processore di eventi. Viene visualizzata la schermata Editor elaborazione eventi.

    Screenshot che mostra dove selezionare Apri processore eventi nella schermata di configurazione della destinazione Lakehouse.

  3. Nell'area di disegno dell'editor di elaborazione eventi selezionare il nodo eventstream. È possibile visualizzare in anteprima lo schema dei dati o modificare il tipo di dati nel riquadro Eventstream a destra.

    Screenshot che mostra lo schema dei dati nel riquadro destro della schermata Editor elaborazione eventi.

  4. Per inserire un operatore di elaborazione eventi tra questo flusso di eventi e la destinazione nell'editor del processore di eventi, è possibile utilizzare uno dei due metodi seguenti:

    1. Inserire l'operatore direttamente dalla riga di connessione. Passare il puntatore del mouse sulla riga di connessione e quindi selezionare il pulsante "+". Nella riga di connessione viene visualizzato un menu a discesa ed è possibile selezionare un operatore da questo menu.

      Screenshot che mostra dove passare il puntatore del mouse sulla riga di connessione per inserire un nodo.

    2. Inserire l'operatore dal menu della barra multifunzione o dall'area di disegno.

      1. È possibile selezionare un operatore dal menu Operazioni della barra multifunzione. In alternativa, è possibile passare il puntatore del mouse su uno dei nodi e quindi selezionare il pulsante "+" se è stata eliminata la riga di connessione. Accanto a tale nodo viene visualizzato un menu a discesa ed è possibile selezionare un operatore da questo menu.

        Screenshot che mostra dove selezionare un operatore dal menu Operazioni.

        Screenshot che mostra dove passare il puntatore del mouse sui nodi per inserire un nodo.

      2. Infine, è necessario riconnettere questi nodi. Passare il puntatore del mouse sul bordo sinistro del nodo del flusso di eventi e quindi selezionare e trascinare il cerchio verde per connetterlo al nodo dell'operatore Gestisci campi . Seguire lo stesso processo per connettere il nodo dell'operatore Gestisci campi al nodo lakehouse.

        Screenshot che mostra dove connettere i nodi.

  5. Selezionare il nodo dell'operatore Gestisci campi . Nel pannello Gestione campi di configurazione selezionare i campi da restituire. Per aggiungere tutti i campi, selezionare Aggiungi tutti i campi. È anche possibile aggiungere un nuovo campo con le funzioni predefinite per aggregare i dati da upstream. Attualmente, le funzioni predefinite supportate sono alcune funzioni in Funzioni stringa, funzioni di data e ora, funzioni matematiche. Per trovarli, cercare "built-in".")

    Screenshot che mostra come configurare l'operatore.

  6. Dopo aver configurato l'operatore Gestisci campi , selezionare Aggiorna anteprima statica per visualizzare in anteprima i dati generati dall'operatore.

    Screenshot che mostra come visualizzare in anteprima i dati nell'editor del processore di eventi.

  7. Se si verificano errori di configurazione, vengono visualizzati nella scheda Errore di creazione nel riquadro inferiore.

    Screenshot che mostra la scheda errore di creazione nell'editor del processore di eventi.

  8. Se i dati visualizzati in anteprima sono corretti, selezionare Fine per salvare la logica di elaborazione degli eventi e tornare alla schermata di configurazione della destinazione Lakehouse.

  9. Selezionare Aggiungi per completare la creazione della destinazione lakehouse.

Editor processore di eventi

Il processore di eventi consente di trasformare i dati inseriti in una destinazione lakehouse. Quando si configura la destinazione lakehouse, si trova l'opzione Apri processore eventi al centro della schermata di configurazione della destinazione Lakehouse .

Screenshot che mostra dove aprire l'editor del processore di eventi.

Selezionando Apri processore di eventi viene avviata la schermata Editor elaborazione eventi, in cui è possibile definire la logica di trasformazione dei dati.

L'editor del processore di eventi include un'area di disegno e un riquadro inferiore in cui è possibile:

  • Compilare la logica di trasformazione dei dati dell'evento con trascinamento della selezione.
  • Visualizzare in anteprima i dati in ognuno dei nodi di elaborazione dall'inizio alla fine.
  • Individuare eventuali errori di creazione all'interno dei nodi di elaborazione.

Il layout dello schermo è simile all'editor principale. È costituito da tre sezioni, illustrate nell'immagine seguente:

Screenshot della schermata Editor elaborazione eventi, che indica le tre sezioni principali.

  1. Canvas con vista diagramma: in questo riquadro è possibile progettare la logica di trasformazione dei dati selezionando un operatore (dal menu Operazioni ) e connettendo il flusso di eventi e i nodi di destinazione tramite il nodo dell'operatore appena creato. È possibile trascinare e rilasciare le linee di connessione oppure selezionare ed eliminare le connessioni.

  2. Riquadro di modifica a destra: questo riquadro consente di configurare il nodo dell'operazione selezionato o di visualizzare lo schema del flusso di eventi e della destinazione.

  3. Riquadro inferiore con le schede di anteprima dei dati e errore di creazione: in questo riquadro visualizzare in anteprima i dati in un nodo selezionato con la scheda Anteprima dati. Nella scheda Errori di creazione sono elencate eventuali configurazioni incomplete o non corrette nei nodi dell'operazione.

Errori di creazione

Gli errori di creazione si riferiscono agli errori che si verificano nell'editor del processore di eventi a causa di una configurazione incompleta o errata dei nodi dell'operazione, consentendo di individuare e risolvere potenziali problemi nel processore di eventi.

È possibile visualizzare gli errori di creazione nel pannello inferiore dell'editor del processore di eventi. Nel pannello inferiore sono elencati tutti gli errori di creazione, ogni errore di creazione ha quattro colonne:

  • ID nodo: indica l'ID del nodo dell'operazione in cui si è verificato l'errore di creazione.
  • Tipo di nodo: indica il tipo del nodo dell'operazione in cui si è verificato l'errore di creazione.
  • Livello: indica la gravità dell'errore di creazione, sono presenti due livelli, Fatal e Information. Errore irreversibile di creazione a livello significa che il processore di eventi presenta gravi problemi e non può essere salvato o eseguito. Errore di creazione a livello di informazioni indica che il processore di eventi include alcuni suggerimenti o suggerimenti che consentono di ottimizzare o migliorare il processore di eventi.
  • Errore: indica le informazioni specifiche dell'errore di creazione, descrivendo brevemente la causa e l'impatto dell'errore di creazione. È possibile selezionare la scheda Mostra dettagli per visualizzare i dettagli.

Poiché Eventstream e KQL Database supportano tipi di dati diversi, il processo di conversione dei tipi di dati può generare errori di creazione.

La tabella seguente illustra i risultati della conversione del tipo di dati da Eventstream a KQL Database. Le colonne rappresentano i tipi di dati supportati da Eventstream e le righe rappresentano i tipi di dati supportati dal database KQL. Le celle indicano i risultati della conversione, che possono essere uno dei tre seguenti:

✔️ Indica la corretta conversione, non vengono generati errori o avvisi.

❌ Indica la conversione impossibile, viene generato un errore di creazione irreversibile. Il messaggio di errore è simile al seguente: il tipo di dati "{1}" per la colonna "{0}" non corrisponde al tipo previsto "{2}" nella tabella KQL selezionata. e non possono essere convertiti automaticamente.

⚠️ Indica la conversione possibile ma imprecisa, viene generato un errore di creazione delle informazioni. Il messaggio di errore è simile al seguente: il tipo di dati "{1}" per la colonna "{0}" non corrisponde esattamente al tipo previsto "{2}" nella tabella KQL selezionata. Verrà convertito automaticamente in "{2}".

string bool datetime dynamic guid int long real timespan decimale
Int64 ✔️ ⚠️ ✔️ ⚠️ ✔️
Double ✔️ ⚠️ ⚠️
Stringa ✔️ ✔️
Datetime ⚠️ ✔️ ✔️
Record ⚠️ ✔️
Array ⚠️ ✔️

Come si può notare dalla tabella, alcune conversioni dei tipi di dati hanno esito positivo, ad esempio stringa in stringa. Queste conversioni non generano errori di creazione e non influiscono sul funzionamento del processore di eventi.

Alcune conversioni dei tipi di dati sono impossibili, ad esempio int in stringa. Queste conversioni generano errori di creazione a livello irreversibile, causando il mancato salvataggio del processore di eventi. Per evitare questi errori, è necessario modificare il tipo di dati nella tabella Eventstream o nella tabella KQL.

Alcune conversioni dei tipi di dati sono possibili, ma non precise, ad esempio int a real. Queste conversioni generano errori di creazione a livello di informazioni, che indicano la mancata corrispondenza tra i tipi di dati e i risultati della conversione automatica. Queste conversioni possono causare la perdita di precisione o struttura dei dati. È possibile scegliere se ignorare questi errori o modificare il tipo di dati nella tabella Eventstream o nella tabella KQL per ottimizzare il processore di eventi.

Operatori di trasformazione

Il processore di eventi fornisce sei operatori, che è possibile usare per trasformare i dati degli eventi in base alle esigenze aziendali.

Screenshot che mostra gli operatori disponibili nel menu Operazioni.

Aggregato

Utilizzare la trasformazione Aggregazione per calcolare un'aggregazione (Somma, Minimo, Massimo o Media) ogni volta che si verifica un nuovo evento in un periodo di tempo. Questa operazione consente anche la ridenominazione di queste colonne calcolate, nonché il filtro o il sezionamento dell'aggregazione in base ad altre dimensioni nei dati. È possibile avere una o più aggregazioni nella stessa trasformazione.

Espandi

Usare la trasformazione Espandi matrice per creare una nuova riga per ogni valore all'interno di una matrice.

Filtro

Usare la trasformazione Filtro per filtrare gli eventi in base al valore di un campo nell'input. A seconda del tipo di dati (numero o testo), la trasformazione mantiene i valori corrispondenti alla condizione selezionata, ad esempio null o non è Null.

Raggruppa per

Usare la trasformazione Group by per calcolare le aggregazioni in tutti gli eventi in un determinato intervallo di tempo. Puoi raggruppare i valori di uno o più campi. La trasformazione Aggregazione consente la ridenominazione delle colonne, ma offre altre opzioni per l'aggregazione e include opzioni più complesse per le finestre temporali. Come Aggregazione, è possibile aggiungere più aggregazioni per trasformazione.

Le aggregazioni disponibili nella trasformazione sono:

  • Average
  • Count
  • Massimo
  • Requisiti minimi
  • Percentile (continuo e discreto)
  • Deviazione standard
  • Sum
  • Scostamento

Negli scenari di flusso tempo eseguire operazioni solo sui dati contenuti in finestre temporali è un modello comune. Il processore di eventi supporta le funzioni di windowing, integrate con l'operatore Group by . È possibile definirlo nell'impostazione di questo operatore.

Screenshot che mostra l'operatore Group by disponibile nell'editor del processore di eventi.

Gestire i campi

La trasformazione Gestisci campi consente di aggiungere, rimuovere, modificare il tipo di dati o rinominare i campi provenienti da un input o da un'altra trasformazione. Le impostazioni del riquadro laterale consentono di aggiungere un nuovo campo selezionando Aggiungi campo, aggiungendo più campi o aggiungendo tutti i campi contemporaneamente.

Screenshot che mostra l'operatore Manage field disponibile nell'editor del processore di eventi.

È anche possibile aggiungere un nuovo campo con le funzioni predefinite per aggregare i dati da upstream. Attualmente, le funzioni predefinite supportate sono alcune funzioni in Funzioni stringa, funzioni di data e ora e funzioni matematiche. Per trovarli, cercare "built-in".")

Screenshot che mostra le funzioni di compilazione del campo Gestisci.

Nella tabella seguente vengono illustrati i risultati della modifica del tipo di dati usando i campi di gestione. Le colonne rappresentano il tipo di dati originale e le righe rappresentano il tipo di dati di destinazione.

  • Se è presente una ✔️ nella cella, significa che può essere convertita direttamente e l'opzione tipo di dati di destinazione viene visualizzata nell'elenco a discesa.
  • Se nella cella è presente un ❌ oggetto , significa che non può essere convertito e l'opzione tipo di dati di destinazione non viene visualizzata nell'elenco a discesa.
  • Se c'è un ⚠️ nella cella, significa che può essere convertito, ma deve soddisfare determinate condizioni, ad esempio il formato stringa deve essere conforme ai requisiti del tipo di dati di destinazione. Ad esempio, quando si esegue la conversione da stringa a int, la stringa deve essere una forma integer valida, ad esempio "123", non "abc".
Int64 Double Stringa Datetime Registra Matrice
Int64 ✔️ ✔️ ✔️
Double ✔️ ✔️ ✔️
Stringa ⚠️ ⚠️ ✔️ ⚠️
Datetime ✔️ ✔️
Record ✔️ ✔️
Array ✔️ ✔️

Popolare

Usare la trasformazione Unione per connettere due o più nodi e aggiungere eventi con campi condivisi (con lo stesso nome e tipo di dati) in una tabella. I campi che non corrispondono vengono rimossi e non vengono inclusi nell'output.