Posuvné okno (Azure Stream Analytics)
Při použití posuvného okna je systém požádán, aby logicky zvážil všechna možná okna dané délky. Vzhledem k tomu, že počet takových oken by byl nekonečný, Azure Stream Analytics místo toho vypisuje události pouze pro ty body v čase, kdy se obsah okna skutečně změní, jinými slovy, když událost vstoupila do okna nebo ho opustila.
Následující diagram znázorňuje stream s řadou událostí a způsob jejich namapování na posuvná okna v intervalu 10 sekund.
Syntax
{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )
Poznámka
Posuvné okno lze použít dvěma způsoby. Chcete-li zajistit konzistenci s skákajícím oknem, můžete k určení velikosti okna použít funkci Duration (Doba trvání) se všemi typy oken.
Argumenty
časová jednotka
Je jednotka času pro velikost okna. 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ů.
Příklady
Tento příklad najde všechny placené budky, které za posledních 5 minut obsloužily více než 3 vozidla:
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