Csúszóablak (Azure Stream Analytics)
Csúszóablak használata esetén a rendszernek logikailag mérlegelnie kell egy adott hosszúságú összes lehetséges ablakot. Mivel az ilyen ablakok száma végtelen lenne, az Azure Stream Analytics ehelyett csak azokra az időpontokra vonatkozóan ad ki eseményeket, amikor az ablak tartalma ténylegesen megváltozik, vagyis amikor egy esemény belép vagy kilép az ablakból.
Az alábbi ábra egy eseménysorozatot ábrázoló adatfolyamot ábrázol, és azt, hogy hogyan vannak leképezve a 10 másodperces csúszóablakokra.
Syntax
{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )
Megjegyzés
A csúszóablak a fenti két módon használható. A felugró ablak konzisztenciájának engedélyezéséhez az Időtartam függvény minden ablaktípussal használható az ablak méretének megadásához.
Argumentumok
timeunit
A windowsize időegysége. Az alábbi táblázat felsorolja az összes érvényes timeunit argumentumot.
Időegység | Rövidítések |
---|---|
nap | dd, d |
óra | óó |
perc | mi, n |
másodperc | ss, s |
ezredmásodperc | Ms |
mikroszekron | Mcs |
windowsize
Egy nagy egész szám, amely az ablak méretét írja le. A windowsize statikus, és futásidőben nem módosítható dinamikusan.
Az ablak maximális mérete minden esetben 7 nap.
Példák
Ez a példa megkeresi az összes olyan fizetős standot, amely az elmúlt 5 percben több mint 3 járművet szolgált ki:
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