Sdílet prostřednictvím


Skákající okno (Azure Stream Analytics)

Na rozdíl od přeskakujícího okna plánoval model skákajícího okna překrývající se okna. Specifikace skákajících oken se skládají ze tří parametrů: timeunit(timeunit), velikost okna (jak dlouho každé okno trvá) a hopsize (o kolik se každé okno posune směrem dopředu vzhledem k předchozímu). Kromě toho lze jako volitelný čtvrtý parametr použít velikost posunu . Všimněte si, že přeskakující okno je jednoduše skákají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 do tohoto okna započítávají za předpokladu, že segment směrování je 5 a velikost je 10.

Diagram skákající okna Stream Analytics

Syntax

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

Poznámka

Skákající okno se dá použít dvěma způsoby. Pokud má velikost okna a velikost směrování stejný časový limit, můžete ji použít bez funkcí Duration a Segment směrování. Funkci Duration můžete použít také s jinými typy oken k určení velikosti okna.

Argumenty

časová jednotka

Je jednotka času pro velikost okna nebo velikost směrování. V následující tabulce jsou uvedeny všechny platné argumenty časového intervalu .

Časová jednotka Zkratky
day dd, d
hour hh
minute mi, n
second ss, s
Milisekund Paní
mikrosekundy Mcs

velikost okna

Velké celé číslo, které popisuje velikost okna. Velikost okna 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 směrování.

offsetsize

Skákající okna jsou ve výchozím nastavení zahrnutá na konci okna a výhradní na začátku – například okno 12:05–13:05 bude obsahovat události, ke kterým došlo přesně ve 13:05, ale nebudou zahrnovat události, ke kterým došlo ve 12:05:05 (tyto události budou součástí okna od 12:00 do 13:00).
Pomocí parametru Offset lze změnit chování a zahrnout události na začátku okna a vyloučit ty, které se staly 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))  
  

Časový faktor

Každá operace okna vypíše událost na konci okna (v případě skákajících oken k tomu dochází při každé velikosti segmentu směrování). Okna Služby Azure Stream Analytics se otevírají v čase spuštění okna a zavírají se v čase ukončení okna. Pokud máte například 5minutový interval od 0:00 do 12:05, budou v tomto okně zahrnuty všechny události s časovým razítkem delším než 12:00 a až do 12:05 včetně. Výstupem okna bude jedna událost založená na použité agregační funkci s časovým razítkem odpovídajícím času ukončení okna. Časové razítko výstupní události okna lze promítt v příkazu SELECT pomocí vlastnosti System.Timestamp() pomocí aliasu.