Rollierendes Fenster (Azure Stream Analytics)

Bei rollierenden Fenstern handelt es sich um eine Reihe von nicht überlappenden, aneinandergrenzenden Zeitintervallen mit einer festen Größe. Das folgende Diagramm veranschaulicht einen Datenstrom mit einer Reihe von Ereignissen und deren Zuordnung zu 10-Zweiten-Sturzfenstern.

Stream Analytics tumbling window 5 mins

Syntax

{TUMBLINGWINDOW | TUMBLING} ( timeunit  , windowsize, [offsetsize] )  
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit  , windowsize ), [Offset(timeunit  , offsetsize)] )  
  

Hinweis

Das rollierende Fenster kann auf die beiden oben genannten Arten verwendet werden. Um die Konsistenz mit dem springenden Fenster zu ermöglichen, kann die Funktion "Duration" auch mit allen Arten von Fenstern verwendet werden, um die Fenstergröße anzugeben. Die Fensterdauer muss eine positive Floatkonstante sein.

Argumente

Timeunit

Ist die Zeiteinheit für die Fenstergröße. In der folgenden Tabelle sind alle gültigen Argumente für "timeunit" aufgeführt.

Timeunit Abkürzungen
day dd, d
hour hh
minute mi, n
second ss, s
Millisekunde ms
Mikrosekunde mcs

windowsize

Eine große Ganzzahl, die die Größe des Fensters beschreibt. Die Windowsize ist statisch und kann zur Laufzeit nicht dynamisch geändert werden.

Die maximale Größe des Fensters beträgt 7 Tage.

Offsetsize

Standardmäßig sind die Stürzen von Fenstern am Ende des Fensters und exklusiv am Anfang – z. B. 12:00 Uhr – 1:00 Uhr Fenster enthalten Ereignisse, die genau um 1:00 Uhr geschehen sind, aber keine Ereignisse enthalten, die am 12:00 Uhr aufgetreten sind (diese Ereignisse sind Teil von 11:00 Uhr – 12:00 Uhr Fenster).

Der Offset-Parameter kann verwendet werden, um dieses Verhalten zu ändern und die Ereignisse am Anfang des Fensters einzuschließen und die ereignisse am Ende auszuschließen.

Beispiele

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

Überlegungen zur Uhrzeit

Jede Fensteroperation gibt am Ende des Fensters ein Ereignis aus. Die Fenster von Azure Stream Analytics werden zum Startzeit des Fensters geöffnet und zum Fensterende geschlossen. Wenn Sie beispielsweise ein 5-Minuten-Fenster von 12:00 Uhr bis 12:05 Uhr haben, werden alle Ereignisse mit Zeitstempel größer als 12:00 Uhr und bis zum Zeitstempel 12:05 Am inklusive in diesem Fenster enthalten sein. Die Ausgabe des Fensters ist ein einzelnes Ereignis basierend auf der Aggregatfunktion, die mit einem Zeitstempel gleich der Endzeit des Fensters verwendet wird. Der Zeitstempel des Ausgabeereigniss des Fensters kann in der SELECT-Anweisung mithilfe der System.Timestamp()-Eigenschaft mithilfe eines Alias projiziert werden.

Weitere Informationen

Springendes Fenster
Schiebefenster
Windowing