Gleitendes Fenster (Azure Stream Analytics)

Bei der Verwendung eines gleitenden Fensters wird das System aufgefordert, alle möglichen Fenster mit einer angegebenen Länge folgerichtig zu berücksichtigen. Da die Anzahl solcher Fenster unendlich ist, gibt Azure Stream Analytics Ereignisse stattdessen nur für die Zeitpunkte aus, an denen sich der Inhalt des Fensters tatsächlich ändert, d. h. wenn ein Ereignis das Fenster eintritt oder das Fenster beendet.

Das folgende Diagramm veranschaulicht einen Stream mit einer Reihe von Ereignissen und deren Zuordnung zu gleitenden Fenstern von 10 Sekunden.

Stream Analytics 10 Sekunden gleitendes Fenster

Syntax

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Hinweis

Das gleitende 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.

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 Windowsgröße ist statisch und kann zur Laufzeit nicht dynamisch geändert werden.

Die maximale Größe des Fensters in allen Fällen beträgt 7 Tage.

Beispiele

In diesem Beispiel werden alle Mautstellen gefunden, an denen in den letzten fünf Minuten mehr als drei Fahrzeuge bedient wurden:

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