Dela via


Rullande fönster (Azure Stream Analytics)

Rullande fönster är en serie med sammanhängande tidsintervaller med fast storlek som inte överlappar. Följande diagram illustrerar en ström med en serie händelser och hur de mappas till 10-sekunders rullande fönster.

Stream Analytics rullande fönster 5 min

Syntax

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

Anteckning

Rullande fönster kan användas på de två sätten ovan. För att tillåta konsekvens med hoppningsfönstret kan funktionen Varaktighet också användas med alla typer av fönster för att ange fönsterstorleken. Fönstrets varaktighet måste vara en positiv flyttalskonstant.

Argument

timeunit

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

Tidsenhet Förkortningar
day dd, d
timme hh
minut mi, n
sekund ss, s
Millisekund Ms
mikrosekunder 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 7 dagar.

offsetsize

Som standard är rullande fönster inkluderande i slutet av fönstret och exklusivt i början – till exempel 12:00–13:00 kommer fönstret att innehålla händelser som inträffat exakt kl. 13:00, men inkluderar inte händelser som inträffade kl. 12:00 (dessa händelser kommer att ingå i fönstret 11:00–12:00).

Parametern Offset kan användas för att ändra det här beteendet och inkludera händelserna i början av fönstret och exkludera de som hände i slutet.

Exempel

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

Tidsöverväganden

Varje fönsteråtgärd matar ut händelsen i slutet av fönstret. Fönstren i Azure Stream Analytics öppnas vid fönstrets starttid och stängs vid fönstrets sluttid. Om du till exempel har ett 5-minutersfönster från 12:00 till 12:05 inkluderas alla händelser med tidsstämpel som är större än 12:00 och upp till tidsstämpel 12:05. Utdata från fönstret är en enskild händelse baserat på den mängdfunktion som används med en tidsstämpel som är lika med fönstrets sluttid. Tidsstämpeln för utdatahändelsen i fönstret kan projiceras i SELECT-instruktionen med hjälp av egenskapen System.Timestamp() med hjälp av ett alias.

Se även

Hoppande fönster
Skjutfönster
Fönster