Sliding Window (Azure Stream Analytics)
Bij gebruik van een schuifraam wordt het systeem gevraagd om logisch rekening te houden met alle mogelijke vensters van een bepaalde lengte. Omdat het aantal van dergelijke vensters oneindig zou zijn, voert Azure Stream Analytics in plaats daarvan alleen gebeurtenissen uit voor die tijdstippen waarop de inhoud van het venster daadwerkelijk verandert, met andere woorden wanneer een gebeurtenis het venster binnenkwam of verlaat.
In het volgende diagram ziet u een stroom met een reeks gebeurtenissen en hoe deze worden toegewezen aan schuifvensters van 10 seconden.
Syntaxis
{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )
Notitie
Het sliding window kan op de bovenstaande twee manieren worden gebruikt. Om consistentie met het hoppingvenster mogelijk te maken, kan de functie Duur ook worden gebruikt met alle typen vensters om de venstergrootte op te geven.
Argumenten
tijdeenheid
Is de tijdseenheid voor de venstergrootte. De volgende tabel bevat alle geldige tijdeenheidargumenten.
Tijdeenheid | Afkortingen |
---|---|
day | dd, d |
uur | hh |
minuut | mi, n |
seconde | ss, s |
Milliseconde | ms |
microseconde | Mcs |
windowsize
Een groot geheel getal dat de grootte van het venster aangeeft. De windows-grootte is statisch en kan niet dynamisch worden gewijzigd tijdens runtime.
De maximale grootte van het venster is in alle gevallen 7 dagen.
Voorbeelden
In dit voorbeeld worden alle tolhuisjes gevonden die de afgelopen 5 minuten meer dan 3 voertuigen hebben bediend:
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