Freigeben über


TumblingWindow(TPayload)-Methode (CepStream(TPayload), TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy)

Transformiert einen Datenstrom in einen Fensterdatenstrom, wobei jedes Element ein CepWindow ist. Ein rollierendes Fenster ist eine besondere Art von springendem Fenster, bei dem die Fenstergröße und die Abschnittgröße gleich sind. Sie können auch eine Ausrichtungszeit als Referenz für den Startzeitpunkt des Fensters angeben.

Namespace:  Microsoft.ComplexEventProcessing.Linq
Assembly:  Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)

Syntax

public static CepWindowStream<CepWindow<TPayload>> TumblingWindow<TPayload>(
    this CepStream<TPayload> source,
    TimeSpan windowSize,
    DateTime alignment,
    WindowInputPolicy inputPolicy,
    HoppingWindowOutputPolicy outputPolicy
)

Typparameter

  • TPayload
    Der Typ der Eingabeereignisnutzlast.

Parameter

Rückgabewert

Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepWindowStream< (Of < ( <'CepWindow< (Of < ( <'TPayload> ) > ) >> ) > ) >
Ein Fensterdatenstrom, auf den Aggregate, Rangfolgen oder benutzerdefinierte Vorgänge angewendet werden können.

Hinweis zur Verwendung

In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepStream< (Of < ( <'TPayload> ) > ) > aufrufen. Wenn Sie Instanzmethodensyntax zum Aufruf dieser Methode verwenden, vernachlässigen Sie den ersten Parameter. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=sql.105) oder https://msdn.microsoft.com/de-de/library/bb383977(v=sql.105).

Hinweise

Weitere Informationen finden Sie unter Verwenden von Ereignisfenstern und Springende Fenster.

Beispiele

var tumblingAgg = from w in inputStream.TumblingWindow(TimeSpan.FromHours(1),
                                                       HoppingWindowOutputPolicy.ClipToWindowEnd)
                  select new { sum = w.Sum(e => e.i) };

Die Ausrichtung des springenden (oder rollierenden) Fensters ist ein optionaler Parameter. Im folgenden Beispiel beginnt und endet jedes Fenster um 09:00 Uhr UTC.

var snapshotAgg = from w in inputStream.TumblingWindow(
                         TimeSpan.FromHours(24),
                         new DateTime(TimeSpan.FromHours(9).Ticks, DateTimeKind.Utc),
                         HoppingWindowOutputPolicy.ClipToWindowEnd)
                  select new { sum = w.Sum(e => e.i) };

Siehe auch

Verweis

CepStream Klasse

TumblingWindow-Überladung

Microsoft.ComplexEventProcessing.Linq-Namespace