Dela via


Skjutfönster

✅ Azure Stream Analytics ✅ Fabric Eventstream

När du använder ett skjutfönster uppmanas systemet att logiskt överväga alla möjliga fönster med en viss längd. Eftersom antalet sådana fönster skulle vara oändligt matar Azure Stream Analytics i stället bara ut händelser för de tidpunkter då innehållet i fönstret faktiskt ändras, med andra ord när en händelse har angetts eller avslutar fönstret.

Följande diagram illustrerar en ström med en serie händelser och hur de mappas till skjutfönster på 10 sekunder.

Stream Analytics 10 sekunders skjutfönster

Syntax

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

Anmärkning

Skjutfönstret kan användas på de två ovanstående sätten. Om du vill tillåta konsekvens med hoppningsfönstret kan funktionen Varaktighet också användas med alla typer av fönster för att ange fönsterstorleken.

Argumentpunkter

timeunit

Är tidsenheten för windowsize. I följande tabell visas alla giltiga timeunit-argument.

Tidsunit Förkortningar
dag dd, d
timme Hh
minut mi, n
andra ss, s
millisekund Ms
mikrosekund Mcs

windowsize

Ett stort heltal som beskriver fönstrets storlek. Windows-storleken är statisk och kan inte ändras dynamiskt vid körning.

Fönstrets maximala storlek är i alla fall 7 dagar.

Exempel

Det här exemplet hittar alla avgiftsbelagda bås som har betjänat mer än 3 fordon under de senaste 5 minuterna:

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