Delen via


Verspringend venster

✅ Azure Stream Analytics ✅ Fabric Eventstream

In tegenstelling tot tumblingvensters wordt het geplande overlappende vensters van het hopping-windows-model gepland. Een specificatie van een hoppingvenster bestaat uit drie parameters: de tijdeenheid, de venstergrootte (hoe lang elk venster duurt) en de hopsize (door hoeveel elk venster vooruitgaat ten opzichte van de vorige). Bovendien kan offsetsize worden gebruikt als een optionele vierde parameter. Houd er rekening mee dat een tumblingvenster gewoon een hoppingvenster is waarvan 'hop' gelijk is aan de 'grootte'.

In de volgende afbeelding ziet u een stream met een reeks gebeurtenissen. Elk vak vertegenwoordigt een hoppingvenster en de gebeurtenissen die worden geteld als onderdeel van dat venster, ervan uitgaande dat de 'hop' 5 is en de 'grootte' 10 is.

Vensterdiagram stream Analytics-hoppingvenster van

Syntaxis

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Opmerking

Het hoppingvenster kan op de bovenstaande twee manieren worden gebruikt. Als de venstersize en de hopsize dezelfde tijdeenheid hebben, kunt u deze gebruiken zonder de functies Duur en Hop. De functie Duur kan ook worden gebruikt met andere typen vensters om de venstergrootte op te geven.

Argumenten

tijdeenheid

Is de tijdseenheid voor de venstergrootte of de hopsize. De volgende tabel bevat alle geldige tijdeenheidargumenten .

Tijdeenheid Afkortingen
dagen dd, d
uur Hh
minuut mi, n
tweede ss, s
milliseconde mevrouw
microseconde Mcs

vensters aanpassen

Een groot geheel getal dat de grootte van het venster beschrijft. De venstergrootte is statisch en kan tijdens runtime niet dynamisch worden gewijzigd.

De maximale grootte van het venster in alle gevallen is 7 dagen.

hopsize

Een groot geheel getal dat de grootte van de hop beschrijft.

offsetsize

Hoppingvensters zijn standaard inclusief aan het einde van het venster en exclusief in het begin , bijvoorbeeld 12:05 - 13:05 pm- venster bevatten gebeurtenissen die precies om 13:05 uur zijn gebeurd, maar bevatten geen gebeurtenissen die om 12:05:PM zijn gebeurd (deze gebeurtenis maakt deel uit van 12:00 – 01:00 uur).
De offsetparameter kan worden gebruikt om gedrag te wijzigen en de gebeurtenissen in het begin van het venster op te nemen en de gebeurtenissen uit te sluiten die aan het einde zijn opgetreden.

Voorbeelden

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Tijdoverweging

Elke vensterbewerking voert een gebeurtenis uit aan het einde van het venster (in het geval van hoppingvensters gebeurt dit bij elke hopgrootte). 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 periode van 5 minuten hebt van 12:00 tot 12:05 uur, worden alle gebeurtenissen met een tijdstempel groter dan 12:00 uur en tot tijdstempel 12:05 uur opgenomen in dit venster. 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.