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.

Stream Analytics 10 seconden sliding window

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