TumblingWindow(TPayload) メソッド (CepStream(TPayload), TimeSpan, DateTime, WindowInputPolicy, HoppingWindowOutputPolicy)
ストリームを変換して、各メンバーが CepWindow であるウィンドウ ストリームにします。タンブリング ウィンドウは、ウィンドウ サイズとホップ サイズが同一の特殊な種類のホッピング ウィンドウです。ウィンドウの開始位置の参照として、配置の時刻を指定することもできます。
名前空間: Microsoft.ComplexEventProcessing.Linq
アセンブリ: Microsoft.ComplexEventProcessing (Microsoft.ComplexEventProcessing.dll)
構文
public static CepWindowStream<CepWindow<TPayload>> TumblingWindow<TPayload>(
this CepStream<TPayload> source,
TimeSpan windowSize,
DateTime alignment,
WindowInputPolicy inputPolicy,
HoppingWindowOutputPolicy outputPolicy
)
型パラメーター
- TPayload
入力イベント ペイロードの型。
パラメーター
- source
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
TumblingWindow 操作の適用対象の CepStream。
- windowSize
型: System. . :: . .TimeSpan
ウィンドウの長さとホップ サイズ。
- alignment
型: System. . :: . .DateTime
ウィンドウの開始時刻を揃えるための参照時刻。
- inputPolicy
型: Microsoft.ComplexEventProcessing.Linq. . :: . .WindowInputPolicy
イベントをウィンドウ操作に入力する前にどのように変更するかを示します。
- outputPolicy
型: Microsoft.ComplexEventProcessing.Linq. . :: . .HoppingWindowOutputPolicy
ウィンドウ操作の出力イベントをどのように変更するかを示します。
戻り値
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepWindowStream< (Of < ( <'CepWindow< (Of < ( <'TPayload> ) > ) >> ) > ) >
集計、順位付け、またはユーザー定義の操作を適用できるウィンドウ ストリーム。
使用に関するメモ
Visual Basic および C# では、このメソッドを型 CepStream< (Of < ( <'TPayload> ) > ) > の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。このメソッドを呼び出すためにインスタンス メソッドの構文を使う場合は、最初のパラメーターを省略してください。詳細については、「https://msdn.microsoft.com/ja-jp/library/bb384936(v=sql.105)」または「https://msdn.microsoft.com/ja-jp/library/bb383977(v=sql.105)」を参照してください。
説明
詳細については、「イベント ウィンドウの使用」および「ホッピング ウィンドウ」を参照してください。
使用例
var tumblingAgg = from w in inputStream.TumblingWindow(TimeSpan.FromHours(1),
HoppingWindowOutputPolicy.ClipToWindowEnd)
select new { sum = w.Sum(e => e.i) };
ホッピング (またはタンブリング) ウィンドウの配置は、オプションのパラメーターです。次の例では、各ウィンドウの開始時刻と終了時刻が午前 9 時になります (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) };