from句では、入力となるイベントストリームまたは名前付きウィンドウを1つ以上指定します。
構文:
from イベントストリーム定義 [as 名前] [unidirectional] [retain-union | retain-intersection]
[, イベントストリーム定義 [as 名前]] [, ...]
イベントストリーム定義は、フィルターベースのイベントストリーム定義、または、パターンベースのイベントストリーム定義となります。ストリーム定義にはasで名前(別名)を付けることができます。
unidirectionalについては、“1.2.11 結合(ジョイン)”を参照してください。
注意
Virtual Data Window利用時の注意
Virtual Data Windowをfrom句に指定した単純なselect文やunidirectionalを指定していない結合(join)の場合、同一CEPエンジン上の複合イベント処理ルールでinsert into句によりVirtual Data Windowに挿入したイベントは通知されますが、Terracottaアプリケーションや別のCEPエンジンから追加されたイベント(キャッシュのエントリー)は通知されません。キャッシュのデータにアクセスするにはunidirectionalを指定した結合(join)、on select文、副問合せを使用してください。
以下は単純なselect文の例です。
select W.high, W.low from MarketWindow;
以下はunidirectionalを指定していない結合(join)の例です。
select W.high, W.low from TicketEvent.std:lastevent() as Input, MarketWindow as W
where W.code = Input.code;
insert into句でMarketWindowにイベントを挿入した際には、挿入されたイベントがこれらのselect文に通知されますが、CEPエンジンの外で追加されたイベントは通知されません。
構文:
イベントストリーム名 [( フィルター条件 )] [.ビュー] [.ビュー]
イベントストリーム名は、イベントタイプの名前、異なる複合イベント処理文のinsert into句で指定されるイベントストリーム名、名前付きウィンドウの名前のいずれかになります。
フィルター条件の指定は、プロパティと演算子、関数(集合関数を除く)などを使って条件を記述します。フィルター条件ではコンマ(,)を論理演算子ANDと同じ意味で使うことができます。
また、“1.7 ビュー”で説明するビューを指定することにより、イベント失効ポリシーの指定(データウィンドウビューの場合)やデータ導出の指定ができます。
複数のビューを指定した場合には、デフォルト(retain-intersection指定と同じ)ではそれらのビューの共通部分が保持されます。retain-union指定により、複数ビューの和集合部分が保持されることになります。
構文:
pattern [ パターン式 ] [.ビュー] [.ビュー]
パターンベースのイベントストリームは、patternキーワードの後に角括弧“[”と“]”内にパターン式を記述することで指定します。パターンに対してもフィルターベースのイベントストリーム定義と同様にビュー指定が可能です。
パターン式の記述方法については、“1.4 パターン”を参照してください。