Tumblingvenster (Azure Stream Analytics)
Tumblingvensters zijn een reeks niet-overlappende en aaneengesloten tijdsintervallen van vaste duur. In het volgende diagram ziet u een stroom met een reeks gebeurtenissen en hoe deze worden toegewezen aan tumblingvensters van 10 seconden.
Syntaxis
{TUMBLINGWINDOW | TUMBLING} ( timeunit , windowsize, [offsetsize] )
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
Notitie
Het tumblingvenster 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. De duur van het venster moet een positieve floatconstante zijn.
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 7 dagen.
offsetgrootte
Standaard zijn tumblingvensters inclusief aan het einde van het venster en exclusief in het begin. Het venster 12:00 – 13:00 uur bevat gebeurtenissen die precies om 13:00 uur hebben plaatsgevonden, maar bevat geen gebeurtenissen die om 12:00 uur hebben plaatsgevonden (deze gebeurtenissen maken deel uit van het venster van 11:00 tot 12:00 uur).
De parameter Offset kan worden gebruikt om dit gedrag te wijzigen en de gebeurtenissen in het begin van het venster op te nemen en de gebeurtenissen uit te sluiten die uiteindelijk zijn opgetreden.
Voorbeelden
SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
alert
FROM
temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25
Tijdoverwegingen
Elke vensterbewerking voert een gebeurtenis uit aan het einde van het venster. De vensters van Azure Stream Analytics worden geopend op de begintijd van het venster en gesloten op de eindtijd van het venster. Als u bijvoorbeeld een tijdsvenster van 5 minuten hebt van 00:00 tot 12:05 uur, worden alle gebeurtenissen met een tijdstempel groter dan 12:00 uur en tot en met tijdstempel 12:05 in dit venster opgenomen. De uitvoer van het venster is één gebeurtenis op basis van de statistische functie die wordt gebruikt met een tijdstempel die gelijk is aan de eindtijd van het venster. De tijdstempel van de uitvoergebeurtenis van het venster kan worden geprojecteerd in de SELECT-instructie met behulp van de eigenschap System.Timestamp() met behulp van een alias.