ページの先頭行へ戻る
Interstage Big DataComplex Event Processing Server V1.1.0 開発リファレンス
FUJITSU Software

1.3.1 create window文

名前付きウィンドウを生成します。生成方法として、既存のイベントタイプから生成する方法と、新たに列名とタイプを定義する方法とがあります。

1.3.1.1 既存のイベントタイプから生成

構文:

create window ウィンドウ名.ビュー
[as] [select
プロパティ [, ...] from] イベントタイプまたはウィンドウ名
[insert [where フィルター式]]

名前付きウィンドウを生成するには、新しく作る名前付きウィンドウの名前(ウィンドウ名)と1つ以上のデータウィンドウビュー(ビュー)を指定します。ウィンドウ名には既存のイベントタイプ(イベントストリーム)名は使えません。

select句により、既存のイベントタイプまたはウィンドウからプロパティを引用することを指定します。

既存の名前付きウィンドウからプロパティを引用する場合、insert句により、新しい名前付きウィンドウ生成時に既存の名前付きウィンドウからデータを取得できます。フィルター式でフィルター条件を指定できます。

1.3.1.2 新たに列名、タイプを指定して生成

構文:

create window ウィンドウ名.ビュー [as] ( 列名 列タイプ [, 列名 列タイプ] [, ...] )

列名列タイプで、名前付きウィンドウに入れるイベントのプロパティの名前とデータタイプを指定します。

1.3.1.3 Virtual Data Windowの生成

create window 文で vdw:ehcache() を指定することで、Interstage Terracotta BigMemory Max(以降Terracotta)のキャッシュを参照する、Virtual Data Windowを作成できます。次の2種類の書き方があります。

イベントタイプ定義で型情報を設定する書き方

構文:

create window ウィンドウ名. vdw:ehcache("キャッシュ名", "キャッシュのキーに該当するプロパティ名") as イベントタイプの開発資産ID;

イベントタイプ定義を利用した定義方法です。XML形式で定義したイベントタイプ定義は指定できません。

CSV形式のイベントタイプ定義のみ指定できます。(キャッシュにはjava.util.HashMap<String,Object>型の値を格納します)。

vdw:ehcache()の引数としては、Virtual Data Windowがアクセスするキャッシュ名と、キャッシュのキーに該当するプロパティ名を指定します。

直接型情報を記述して設定する書き方

構文:

create window ウィンドウ名. vdw:ehcache("キャッシュ名", "キャッシュのキーに該当するプロパティ名") as (プロパティ名1  型1, プロパティ名22, ...);

型情報を直接指定する場合の定義方法です。各プロパティに指定可能な型は「1.3.1.4 利用可能なTerracottaのキャッシュの形式」を参照してください。

Virtual Data Windowの作成例

直接型情報を記述する場合のVirtual Data Window の作成例です。

create window CustomerWindow. vdw:ehcache("CustomerCache", "id") as (id string, name string, address string);

この例では、Terracottaのキャッシュ CustomerCache を参照します。キーはidです。生成するウィンドウ名は CustomerWindow、プロパティは以下の通りです。

プロパティ名

id

string

name

string

address

string

注意

Virtual Data Windowと一緒に他のビューを指定しない

Virtual Data Windowを定義するcreate window文において、vdw:ehcache()の指定と一緒にwin:length(1)などの他のビューを指定しないでください。指定しても構文エラーにはなりませんが、そのビューの指定によりTerracottaのキャッシュのデータは操作できません(win:length(1)を指定したとしても、キャッシュ内のイベントは1つになりません)。

1.3.1.4 利用可能なTerracottaのキャッシュの形式

Terracottaのキャッシュは、キーと値のペアで構成されます。BDCEPが参照するキャッシュは以下の構成にする必要があります。

キーに使用可能な型

値に使用可能な型

java.lang.String

java.util.HashMap<java.lang.String, java.lang.Object>

複合イベント処理ルールで指定する各プロパティは、上記HashMapの各要素に対応します。

HashMapの各要素の値で使用可能な型と、対応する複合イベント処理ルールにおける型は以下の通りです。

HashMapの各要素に使用可能な型

対応する複合イベント処理ルールの型

java.lang.String

string

java.lang.Character

char/character

java.lang.Boolean

bool/boolean

java.lang.Byte

byte

java.lang.Short

short

java.lang.Integer

int/integer

java.lang.Long

long

java.lang.Float

float

java.lang.Double

double

Terracottaのキャッシュのキーと、値に指定するHashMapは、次の関係にする必要があります。

この関係を図にすると次のようになります。