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