Sdílet prostřednictvím


Přeskakující okno

✅Eventstream prostředků infrastruktury Azure Stream Analytics ✅

Na rozdíl od přeskakujících oken je naplánované překrytí oken přeskakující model oken. Specifikace přeskakujícího okna se skládá ze tří parametrů: timeunit, windowsize (jak dlouho každé okno trvá) a segment směrování (o kolik se každé okno posune směrem dopředu vzhledem k předchozímu intervalu). Kromě toho lze posuny použít jako volitelný čtvrtý parametr. Všimněte si, že přeskakující okno je jednoduše přeskakující okno, jehož segment směrování se rovná jeho velikosti.

Následující obrázek znázorňuje datový proud s řadou událostí. Každé pole představuje skákající okno a události, které se počítají jako součást tohoto okna, za předpokladu, že "segment směrování" je 5 a "velikost" je 10.

Skákání diagramu okna Stream Analytics

Syntaxe

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

Poznámka:

Okno skákání lze použít výše dvěma způsoby. Pokud má funkce windowsize a segment hopsize stejný časový limit, můžete ho použít bez funkcí Doba trvání a směrování. Funkci Doba trvání lze použít také s jinými typy oken k určení velikosti okna.

Argumenty

timeunit

Je jednotka času pro časové intervaly nebosegment směrování. V následující tabulce jsou uvedeny všechny platné argumenty časového limitu .

Timeunit Zkratky
den dd, d
hodina Hh
minuta mi, n
vteřina ss, s
milisekunda milisekunda
mikrosekunda Mcs

windowsize

Velké celé číslo, které popisuje velikost okna. Windowsize je statická a nelze ji dynamicky měnit za běhu.

Maximální velikost okna je ve všech případech 7 dní.

hopsize

Velké celé číslo, které popisuje velikost segmentu Směrování.

offsetsize

Ve výchozím nastavení jsou přeskakující okna na konci okna a exkluzivní na začátku – například 12:05 – 13:05 – 13:05 – události, které proběhly přesně v 13:05, ale nebudou obsahovat události, ke kterým došlo v 12:05:05 (tato událost bude součástí 12:00 –13:00 pm okno).
Parametr Posun lze použít ke změně chování a zahrnutí událostí na začátku okna a vyloučení událostí, ke kterým došlo na konci.

Příklady

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))  
  

Důležité informace o čase

Každá operace okna vypíše událost na konci okna (v případě přeskakování oken k tomu dochází při každé velikosti segmentu směrování). Okna Služby Azure Stream Analytics se otevřou v počátečním čase okna a zavře se v době ukončení okna. Pokud máte například 5minutové okno od 12:00 do 12:05 do 12:05 a všechny události s časovým razítkem delším než 12:00 a až do časového razítka 12:05 včetně budou zahrnuty v tomto okně. Výstupem okna bude jedna událost založená na agregační funkci použité s časovým razítkem, které se rovná koncovému času okna. Časové razítko výstupní události okna lze projektovat v příkazu SELECT pomocí vlastnosti System.Timestamp() pomocí aliasu.