Fönsterfunktioner (Azure Stream Analytics)
I program som bearbetar realtidshändelser är det vanligt att utföra viss uppsättningsbaserad beräkning (aggregering) eller andra åtgärder över delmängder av händelser som faller inom en viss tidsperiod. Eftersom begreppet tid är en grundläggande nödvändighet för komplexa system för händelsebearbetning är det viktigt att ha ett enkelt sätt att arbeta med tidskomponenten för frågelogik i systemet. I Azure Stream Analytics definieras dessa delmängder av händelser via fönster för att representera grupperingar efter tid. Den här artikeln beskriver fönster och hur de definieras, identifierar vilka typer av fönster som stöds och förklarar hur du kan använda fönster med olika operatorer.
Förstå Windows
Ett fönster innehåller händelsedata längs en tidslinje och gör att du kan utföra olika åtgärder mot händelserna i det fönstret. Du kanske till exempel vill summera värdena för nyttolastfält i ett visst fönster, som du ser i följande bild.
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. Varje fönster justeras automatiskt till den nollde timmen. Till exempel justeras ett rullande fönster på 5 minuter till (12:00-12:05] , (12:05-12:10], ...och så vidare.
Efter en fönsteråtgärd skiljer sig tidsstämpeln för en händelse från det ursprungliga händelsetidsattributet (antingen ankomsttiden eller kolumnen som används med TIMESTAMP BY). Den aktuella uppdaterade tidsstämpeln för en händelse kan alltid nås med system.timestamp().
Anteckning
Alla fönster ska användas i en GROUP BY-sats.
Det finns fem typer av fönster:
Fönstrets maximala storlek är i samtliga fall 7 dagar.
Du kan aggregera över flera tidsfönster i samma GROUP BY-instruktion med hjälp av funktionen Windows (Azure Stream Analytics).
Se även
Inbyggda funktioner (Azure Stream Analytics)
Mängdfunktioner (Azure Stream Analytics)
Analysfunktioner (Azure Stream Analytics)
Matrisfunktioner (Stream Analytics)
Konverteringsfunktioner (Azure Stream Analytics)
Datum- och tidsfunktioner (Azure Stream Analytics)
Postfunktioner (Azure Stream Analytics)