Finestra a cascata (Analisi di flusso di Azure)
Le finestre a cascata sono costituite da una serie di intervalli temporali di dimensioni fisse, contigui e non sovrapposti. Il diagramma seguente illustra un flusso con una serie di eventi e come vengono mappati in finestre di 10 secondi.
Finestra di analisi di
Sintassi
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Nota
La finestra a cascata può essere usata in uno dei due modi seguenti. 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. La durata della finestra deve essere una costante float positiva.
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. La finestra è statica e non può essere modificata dinamicamente in fase di esecuzione.
La dimensione massima della finestra è pari a sette giorni.
offsetsize
Per impostazione predefinita, le finestre a cascata sono incluse alla fine della finestra ed esclusive all'inizio, ad esempio 12:00 - 1:00 finestra includeranno eventi che si sono verificati esattamente alle 1:00, ma non includeranno eventi che si sono verificati alle 12:00PM (questi eventi faranno parte della finestra delle 11:00 - 12:00 PM).
Il parametro Offset può essere usato per modificare questo comportamento e includere gli eventi all'inizio della finestra ed escludere quelli che si sono verificati alla fine.
Esempio
SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
alert
FROM
temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25
Considerazioni sul tempo di backup
Ogni operazione della finestra genera un 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 dispone di una finestra di 5 minuti dalle 12:00 alle 12:05, tutti gli eventi con timestamp maggiore di 12:00 am e fino al timestamp 12:05 includerà all'interno di questa finestra. L'output della finestra sarà un singolo evento basato sulla funzione di aggregazione usata che presenta un timestamp uguale all'ora di fine della finestra. Il timestamp dell'evento di output della finestra può essere proiettato nell'istruzione SELECT usando la proprietà System.Timestamp() usando un alias.