Condividi tramite


Funzioni di windowing

✅ Flusso di eventi dell'infrastruttura di Analisi ✅ di flusso di Azure

Nelle applicazioni che elaborano eventi in tempo reale, è comune eseguire alcuni calcoli basati su set (aggregazione) o altre operazioni su subset di eventi che rientrano in un determinato periodo di tempo. Poiché il concetto di tempo è una necessità fondamentale per complessi sistemi di elaborazione degli eventi, è importante avere un modo semplice per lavorare con il componente temporale della logica di query nel sistema. In Analisi di flusso di Azure questi subset di eventi vengono definiti tramite finestre per rappresentare i raggruppamenti in base al tempo. Questo articolo descrive le finestre e il modo in cui vengono definite, identifica i tipi di finestre supportate e spiega come usare finestre con vari operatori.

Informazioni su Windows

Una finestra contiene i dati dell'evento lungo una sequenza temporale e consente di eseguire varie operazioni sugli eventi all'interno di tale finestra. Ad esempio, è possibile sommare i valori dei campi di payload in una determinata finestra, come illustrato nella figura seguente.

Finestra a cascata del linguaggio di query di Analisi di flusso

Ogni operazione di finestra restituisce l'evento alla fine della finestra. Le finestre di Analisi di flusso di Azure vengono aperte all'ora di inizio della finestra e chiuse all'ora di fine della finestra. Ad esempio, se si ha una finestra di 5 minuti dalle 12:00 alle 12:05, tutti gli eventi con timestamp maggiore delle 12:00 e fino al timestamp 12:05 inclusi in questa finestra. L'output della finestra sarà un singolo evento basato sulla funzione di aggregazione usata con un timestamp uguale all'ora di fine dell'intervallo. Il timestamp dell'evento di output della finestra può essere proiettato nell'istruzione SELECT usando la proprietà System.Timestamp() usando un alias. Ogni finestra si allinea automaticamente all'ora zero. Ad esempio, una finestra a cascata di 5 minuti si allinea a (12:00-12:05] , (12:05-12:10], ...e così via.

Dopo un'operazione di finestra, il timestamp di un evento sarà diverso dall'attributo dell'ora dell'evento originale ( l'ora di arrivo o la colonna usata con TIMESTAMP BY). È sempre possibile accedere al timestamp aggiornato corrente di un evento con system.timestamp().

Annotazioni

Tutte le finestre devono essere usate in una clausola GROUP BY.

Esistono cinque tipi di finestre:

  1. Finestra a cascata

  2. Finestra di salto

  3. Finestra scorrevole

  4. Finestra sessione

  5. Finestra snapshot

Le dimensioni massime della finestra in tutti i casi sono 7 giorni.

È possibile aggregare in più finestre temporali nella stessa istruzione GROUP BY usando la funzione Windows .

Vedere anche

Funzioni predefinite
Funzioni di aggregazione
Funzioni analitiche
Funzioni di matrice (Analisi di flusso)
funzioni di conversione
Funzioni di data e ora
Funzioni di record