複合イベント処理言語では、イベントストリームに対してビューを指定することによって、操作対象のイベントを限定すること(データウィンドウビュー)や、イベントストリームから値を導出すること(導出値ビュー)ができます。
以下に、データウィンドウビューの一覧を示します。
ビュー | 構文 | 説明 |
---|---|---|
長さウィンドウ (length window) | win:length(サイズ) | 指定したサイズ分の最新のイベントを保持しながらスライドする長さウィンドウ。 |
長さバッチウィンドウ (length batch window) | win:length_batch(サイズ) | 指定したサイズのイベントが集まった際にイベントを処理し、すべて解放することを繰り返すウィンドウ。 |
時間ウィンドウ (time window) | win:time(時間) | 指定した時間分のイベントを保持するタイムウィンドウ。 時間表現もしくは秒数を指定します。 |
時間バッチウィンドウ (time batch window) | win:time_batch(時間 [, 開始時刻]) | 指定した時間イベントを貯め、時間となった際にイベントを処理し、すべて解放することを繰り返すウィンドウ。 開始時刻の指定がない場合、最初のイベントが到着したところから時間のカウントが始まります。 開始時刻の指定がある場合、その開始時刻から時間のカウントが始まります。開始時刻は1970年1月1日00:00:00 GMTからのミリ秒で指定します。 |
時間-長さ組合せバッチウィンドウ (time-length combination batch window) | win:time_length_batch(時間,サイズ) | 時間ウィンドウと長さウィンドウの組合せ。 時間またはサイズのどちらかの条件に合致した際にイベントを処理し、解放します。 |
全保持ウィンドウ (keep-all window) | win:keepall() | すべてのイベントを保持するウィンドウ。 イベントが解放されないため、メモリ消費に注意が必要です。 |
先着長さ (first length) | win:firstlength(サイズ) | 最初に到着したサイズ分のイベントを保持します。 |
先着時間 (first time) | win:firsttime(時間) | 最初の指定時間内に到着したイベントを保持します。 |
一意性 (unique) | std:unique(一意性基準式) | イベントに対して一意性基準式を計算し、その値ごとに最新のイベントだけを保持します。 |
グループ分けデータウィンドウ (grouped data window) | std:groupwin(グルーピング式) | イベントに対してグルーピング式を計算し、その値ごとにデータウィンドウを保持します。 |
最新イベント (last event) | std:lastevent() | 最新のイベントだけを保持します。サイズ1の長さウィンドウと同等です。 |
先着イベント (first event) | std:firstevent() | 最初に到着したイベントだけを保持します。 |
先着一意 (first unique) | std:firstunique(一意性基準式) | イベントに対して一意性基準式を計算し、その値ごとに最初に到着したイベントだけを保持します。 |
ソートウィンドウ (sorted window) | ext:sort(サイズ, ソート式 [asc|desc] [, ソート式 [asc |desc]] [, ...]) | ソート式にしたがってソートした結果の上位から、サイズで指定した数のイベントを保持します。 asc/descで昇順、降順かを指定できます。 |
以下に導出値ビューを示します。
ビュー | 構文 | 説明 |
---|---|---|
サイズ (size) | std:size([プロパティ [, ...]]) | イベントストリームから受け取ったイベント数をlong値をもつsizeというプロパティで参照できるようにします。プロパティを指定することで、sizeに加え、そのプロパティも参照できます。 |