Condividi tramite


Finestra di salto (Analisi di flusso di Azure)

A differenza delle finestre a cascata, saltando finestre pianificate sovrapposte. Una specifica della finestra di salto è costituita da tre parametri: timeunit, finestrezza (per quanto dura ogni finestra) e hopsize (per quanto ogni finestra si sposta in avanti rispetto a quella precedente). Inoltre, offsetsize può essere usato come quarto parametro facoltativo. Una finestra a cascata è semplicemente una finestra di salto con 'hop' uguale a 'size'.

L'illustrazione seguente mostra un flusso con una serie di eventi. Ogni casella rappresenta una finestra di salto e gli eventi conteggiati all'interno di tale finestra, supponendo che l''hop' sia 5 e 'size' 10.

Diagramma della finestra di salto di Analisi di flusso di

Sintassi

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Nota

La finestra di salto può essere usata in uno dei due modi seguenti. Se windowsize e hopsize hanno un timeunit uguale, è possibile usarlo senza le funzioni Durata e Hop. La funzione Durata può essere usata anche con altri tipi di finestre per specificarne le dimensioni.

Argomenti

timeunit

Unità di tempo per windowsize o hopsize. Nella tabella seguente sono elencati tutti gli argomenti timeunit validi.

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.

hopsize

Intero grande che descrive le dimensioni dell'hop.

offsetsize

Per impostazione predefinita, le finestre di salto sono incluse alla fine della finestra ed esclusive all'inizio, ad esempio 12:05 - 13:05 finestra includeranno eventi che si sono verificati esattamente alle 13:05, ma non includeranno eventi che si sono verificati alle 12:05:PM (questi eventi faranno parte della finestra delle 12:00 - 01:00 pm).
Il parametro Offset può essere usato per modificare il 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, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Considerazioni sul tempo

Ogni operazione finestra restituisce l'evento alla fine della finestra (in caso di finestre di salto, questo avviene a ogni dimensione dell'hop). 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 am inclusive verranno inclusi 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.