Okno przesuwane (Azure Stream Analytics)

W przypadku korzystania z okna przesuwanego system jest proszony o logiczne rozważenie wszystkich możliwych okien o danej długości. Ponieważ liczba takich okien byłaby nieskończona, usługa Azure Stream Analytics zamiast tego generuje zdarzenia tylko dla tych punktów w czasie, gdy zawartość okna rzeczywiście się zmienia, innymi słowy, gdy zdarzenie zostało wprowadzone lub zamyka okno.

Na poniższym diagramie przedstawiono strumień z serią zdarzeń i sposób ich mapowania na przesuwane okna 10 sekund.

Okno przewijania usługi Stream Analytics 10 sekundy w usłudze Stream Analytics

Składnia

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

Uwaga

Okno przesuwane można używać na dwa powyższe sposoby. Aby umożliwić spójność z oknem przeskoku, funkcja Duration może być również używana ze wszystkimi typami okien w celu określenia rozmiaru okna.

Argumenty

timeunit

Jest jednostką czasu na windowsize. Poniższa tabela zawiera listę wszystkich prawidłowych argumentów timeunit.

Timeunit Skróty
dzień dd, d
godzina hh
minuta mi, n
sekunda ss, s
Milisekundy Pani
mikrosekundy Mcs

windowsize

Duża liczba całkowita, która opisuje rozmiar okna. Windowsize jest statyczny i nie można go dynamicznie zmieniać w czasie wykonywania.

Maksymalny rozmiar okna we wszystkich przypadkach wynosi 7 dni.

Przykłady

W tym przykładzie znajduje się wszystkie stoiska płatne, które obsługiwały ponad 3 pojazdy w ciągu ostatnich 5 minut:

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