Freigeben über


Fensterfunktionen

✅ Azure Stream Analytics ✅ Fabric Eventstream

In Anwendungen, die Echtzeitereignisse verarbeiten, ist es üblich, einige setbasierte Berechnung (Aggregation) oder andere Vorgänge über Teilmengen von Ereignissen durchzuführen, die innerhalb eines bestimmten Zeitraums liegen. Da das Zeitkonzept eine grundlegende Notwendigkeit für komplexe Ereignisverarbeitungssysteme ist, ist es wichtig, eine einfache Möglichkeit zum Arbeiten mit der Zeitkomponente der Abfragelogik im System zu haben. In Azure Stream Analytics werden diese Teilmengen von Ereignissen über Fenster definiert, um Gruppierungen nach Zeit darzustellen. In diesem Artikel werden Fenster und ihre Definition beschrieben, die unterstützten Fenstertypen identifiziert und erläutert, wie Sie Fenster mit verschiedenen Operatoren verwenden können.

Grundlegendes zu Windows

Ein Fenster enthält Ereignisdaten entlang einer Zeitachse und ermöglicht es Ihnen, verschiedene Vorgänge für die Ereignisse in diesem Fenster auszuführen. Sie können z. B. die Werte von Nutzlastfeldern in einem bestimmten Fenster addieren, wie in der folgenden Abbildung dargestellt.

Stream Analytics-Abfragesprache im Fenster

Jeder Fenstervorgang gibt das Ereignis am Ende des Fensters aus. Die Fenster von Azure Stream Analytics werden zur Startzeit des Fensters geöffnet und am Ende des Fensters geschlossen. Wenn Sie beispielsweise ein 5-Minuten-Fenster von 12:00 bis 12:05 Uhr haben, werden alle Ereignisse mit zeitstempel größer als 12:00 Uhr und bis zum Zeitstempel 12:05 Uhr in diesem Fenster enthalten sein. Die Ausgabe des Fensters ist ein einzelnes Ereignis basierend auf der Aggregatfunktion, die mit einem Zeitstempel verwendet wird, der der Endzeit des Fensters entspricht. Der Zeitstempel des Ausgabeereignisses des Fensters kann in der SELECT-Anweisung mithilfe der System.Timestamp()-Eigenschaft mithilfe eines Alias projiziert werden. Jedes Fenster richtet sich automatisch an der Nullstunde aus. Beispielsweise richtet sich ein 5-minütiges Sturzfenster an (12:00-12:05] , (12:05-12:10], ...usw.).

Nach einem Fenstervorgang unterscheidet sich der Zeitstempel eines Ereignisses vom ursprünglichen Ereigniszeit-Attribut (entweder der Ankunftszeit oder der Spalte, die mit TIMESTAMP BY verwendet wird). Auf den aktuellen, aktualisierten Zeitstempel eines Ereignisses kann immer mit system.timestamp()zugegriffen werden.

Hinweis

Alle Fenster sollten in einer GROUP BY-Klausel verwendet werden.

Es gibt fünf Fenstertypen:

  1. Tumbling Window

  2. Fenster zum Überspringen

  3. Schiebefenster

  4. Sitzungsfenster

  5. Momentaufnahmefenster

Die maximale Größe des Fensters in allen Fällen beträgt 7 Tage.

Sie können über mehrere Zeitfenster in derselben GROUP BY-Anweisung mithilfe der Windows-Funktion aggregieren.

Siehe auch

Integrierte Funktionen
Aggregatfunktionen
Analysefunktionen
Arrayfunktionen (Stream Analytics)
Konvertierungsfunktionen
Datums- und Uhrzeitfunktionen
Datensatzfunktionen