Finestra temporale scorrevole (Analisi di flusso di Azure)

Quando si usa una finestra temporale scorrevole, al sistema viene richiesto di considerare logicamente tutte le possibili finestre di una determinata lunghezza. Poiché il numero di tali finestre sarebbe infinito, Analisi di flusso di Azure restituisce invece gli eventi solo per quei punti nel tempo in cui il contenuto della finestra cambia effettivamente, in altre parole quando un evento è entrato o esce dalla finestra.

Il diagramma seguente illustra un flusso con una serie di eventi e come viene eseguito il mapping a finestre scorrevoli di 10 secondi.

10 secondi finestra scorrevoleAnalisi di flusso Analisi di flusso

Sintassi

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Nota

La finestra temporale scorrevole può essere usata nei due modi descritti in precedenza. Per assicurare la coerenza con la finestra di salto, la funzione Duration può essere usata anche con tutti i tipi di finestre per specificarne le dimensioni.

Argomenti

timeunit

Unità di tempo per windowsize. La tabella seguente contiene tutti gli argomenti validi per timeunit.

Timeunit Abbreviazioni
day dd, d
hour hh
minute mi, n
second ss, s
millisecondo ms
microsecondo mcs

windowsize

Intero lungo che descrive le dimensioni della finestra. Windowsize è statico e non può essere modificato in modo dinamico in fase di esecuzione.

La dimensione massima della finestra in tutti i casi è pari a sette giorni.

Esempio

Questo esempio trova tutti i caselli di pedaggio che hanno servito più di 3 veicoli negli ultimi 5 minuti:

SELECT DateAdd(minute,-5,System.Timestamp()) AS WinStartTime, System.Timestamp() AS WinEndTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, SlidingWindow(minute, 5)
HAVING COUNT(*) > 3