Dela via


Hoppande fönster

✅ Azure Stream Analytics ✅ Fabric Eventstream

Till skillnad från rullande fönster, hoppande Windows-modell schemalagd överlappande fönster. En specifikation för hoppfönster består av tre parametrar: tidsenheten, windowsstorleken (hur länge varje fönster varar) och hoppstorleken (med hur mycket varje fönster flyttas framåt i förhållande till det föregående). Dessutom kan offsetsize användas som en valfri fjärde parameter. Observera att ett rullande fönster helt enkelt är ett hoppande fönster vars "hopp" är lika med dess "storlek".

Följande bild visar en ström med en serie händelser. Varje ruta representerar ett hoppfönster och de händelser som räknas som en del av fönstret, förutsatt att "hopp" är 5 och "storlek" är 10.

Stream Analytics hoppande fönsterdiagram

Syntax

{HOPPINGWINDOW | HOPPING} ( timeunit  , windowsize , hopsize, [offsetsize] )
{HOPPINGWINDOW | HOPPING} ( Duration( timeunit  , windowsize ) , Hop (timeunit  , windowsize ), [Offset(timeunit  , offsetsize)])  
  

Anmärkning

Hopping-fönstret kan användas på de två ovanstående sätten. Om windowsize och hopsize har samma tidsunit kan du använda den utan funktionerna Varaktighet och Hopp. Funktionen Varaktighet kan också användas med andra typer av fönster för att ange fönsterstorleken.

Argumentpunkter

timeunit

Är tidsenheten för windowsize eller hopsize. 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.

hoppsize

Ett stort heltal som beskriver storleken på Hop.

offsetsize

Som standard är hoppande fönster inkluderande i slutet av fönstret och exklusivt i början – till exempel 12:05–13:05 inkluderas händelser som inträffade exakt kl. 13:05, men inkluderar inte händelser som inträffade kl. 12:05:PM (händelsen kommer att vara en del av 12:00–01:00 PM-fönstret).
Parametern Offset kan användas för att ändra beteende 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, HoppingWindow(Duration(hour, 1), Hop(minute, 5), Offset(millisecond, -1))  
  

Tidsövervägande

Varje fönsteråtgärd matar ut händelsen i slutet av fönstret (vid hoppfönster sker detta vid varje hoppstorlek). Fönstren i Azure Stream Analytics öppnas vid starttiden för fönstret 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ämpeln 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.