Trasformazioni Eventstream
L'interfaccia di modifica di eventstream di trascinamento della selezione offre un metodo semplice e intuitivo per costruire flussi di lavoro complessi di elaborazione dei dati degli eventi.
Trasformazioni Eventstream
È possibile trasformare i dati in un eventstream applicando le trasformazioni seguenti:
- Filtro: Usare la trasformazione Filtro per filtrare gli eventi in base al valore di un campo dell'input. A seconda del tipo di dati (numero o testo), la trasformazione mantiene i valori corrispondenti alla condizione selezionata, ad esempio è
null
ois not null
. - Gestire i campi: Questa trasformazione consente di aggiungere, rimuovere, modificare il tipo di dati o rinominare i campi provenienti da un input o da un'altra trasformazione.
- Aggregazione: Usare 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 e il filtro o il sezionamento dell'aggregazione in base ad altre dimensioni nei dati. È possibile avere una o più aggregazioni nella stessa trasformazione.
- Raggruppa per: usa la trasformazione Raggruppa per calcolare le aggregazioni in tutti gli eventi entro un determinato intervallo di tempo. Puoi raggruppare i valori di uno o più campi. È come la trasformazione Aggregazione che consente di rinominare le colonne, ma offre altre opzioni per l'aggregazione e include opzioni più complesse per le finestre temporali. Come Aggregazione, puoi aggiungere più aggregazioni per trasformazione.
- Unione: 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.
- Espandere: Usare questa trasformazione matrice per creare una nuova riga per ogni valore all'interno di una matrice.
- Creare un join: il join consiste in una trasformazione per combinare i dati di due flussi in base a una condizione di corrispondenza tra di essi.
Funzioni di windowing in Eventstream
Le funzioni finestra sono un modo per eseguire operazioni sui dati contenuti in finestre temporali, ad esempio l'aggregazione, il filtro o la trasformazione degli eventi di streaming in base al tempo. Le funzioni di windowing sono utili per analizzare i dati di streaming che cambiano nel tempo, ad esempio letture dei sensori, clic Web, transazioni on-line e altro ancora e offrono una grande flessibilità per mantenere un record accurato degli eventi man mano che si verificano.
In precedenza, è stato menzionato l'operatore Raggurppa per nell'editor del processore di eventi. Questa interfaccia grafica consente di definire la logica necessaria per l'elaborazione, la trasformazione e il routing dei dati degli eventi. Esistono quattro parametri che devono essere specificati nelle impostazioni diRaggruppa per operatore per usare queste funzioni di windowing che includono:
Il tipo di finestra, che può essere a cascata, scorrevole, snapshot, a saltoo sessione.
Le finestre a cascata dividono gli eventi in ingresso in intervalli fissi e non sovrapposti in base all'ora di arrivo.
Questa finestra mostra un conteggio dei tweet per fuso orario a intervalli di 10 secondi.
Le finestre scorrevoli accettano gli eventi in intervalli fissi e sovrapposti in base al tempo e li divide.
Una finestra è una finestra temporale scorrevole di 10 secondi che avvisa l'utente ogni volta che un articolo viene menzionato più di tre volte in meno di 10 secondi
Nota
In questo scenario tutti i tweet appartengono allo stesso argomento
Le finestre di sessione dividono semplicemente gli eventi in intervalli variabili e non sovrapposti che si basano su un gap di mancanza di attività.
Finestra che mostra il numero totale di tweet che si verificano entro cinque minuti l'uno dall'altro
Le finestre di salto sono diverse dalle finestre a cascata perché simulano finestre sovrapposte pianificate.
Finestra di salto di 10 secondi che viene aggiornata ogni 5 secondi e indica il numero totale di tweet negli ultimi 10 secondi.
Le finestre snapshot raggruppano gli eventi del flusso di eventi che hanno lo stesso timestamp e sono diverse da altre funzioni di windowing, che richiedono il nome della funzione. Per le finestre snapshot si aggiunge
System.Timestamp()
alla clausolaGROUP BY
.Questa finestra fornisce il numero dei tweet con lo stesso tipo di articolo che si verificano esattamente nello stesso istante.
La durata della finestra è la lunghezza di ogni intervallo di attesa, che può essere espresso in secondi, minuti, ore e persino giorni. Una durata di esempio, ad esempio 10 minuti, significa semplicemente che ogni finestra copre 10 minuti di dati dell'evento.
L'offset della finestra è un parametro facoltativo che sposta l'inizio e la fine di ogni intervallo di attesa in base a un intervallo di tempo specificato. Un esempio di quando questo parametro facoltativo è impostato può essere un offset di finestra di 2 minuti, il che significa che ogni finestra inizia e termina 2 minuti dopo il solito.
La chiave di raggruppamento corrisponde a una o più colonne nei dati dell'evento da raggruppare. Ad esempio, in base all'ID sensore o alla categoria di elementi.
La funzione di aggregazione corrisponde a una o più funzioni da applicare a ogni gruppo di eventi in ogni finestra. È qui che i conteggi, le somme, le medie, i valori min/max e persino le funzioni personalizzate diventano utili.