この章では、Oracle Stream Analytics Visualizerを使用してOracle CQLルールを開発および管理する方法について説明します(CQLルールを使用すると、イベント処理ネットワーク(EPN)を通過するイベントを選択できます)。
この章の内容は次のとおりです。
Oracle Stream Analytics Visualizerを使用すると、Oracle Stream AnalyticsアプリケーションのOracle CQLプロセッサ内のOracle CQLルールを管理できます。
この節では、以下のトピックについて説明します。
Oracle Stream Analytics Visualizerは、Oracle CQLビューおよび問合せの構成を簡素化するための高度な問合せウィザードを提供します。ビューまたは問合せを構成するためにOracle CQL要素をドラッグ・アンド・ドロップしたり、完全なOracle CQLビューまたは問合せのテンプレートをドラッグ・アンド・ドロップしてニーズを満たすようにカスタマイズできます。Oracle CQL問合せウィザードは、ビジネス・ユーザーが正しい構文のOracle CQLビューおよび問合せを効果的に作成し、それをデプロイ済のOracle Stream Analyticsアプリケーションへ速やかに適用できるように設計されています。
「問合せウィザード」を使用すると、Oracle CQLビューおよび問合せを作成できます。Oracle CQLストリームおよびリレーションは作成できません。デプロイ済Oracle Stream Analyticsアプリケーションが、ストリームおよびリレーションを提供する必要があります。
注意:
Oracle CQL問合せは、その入力チャネルが入力イベントを提供する場合、すぐにイベントの出力を開始します。チャネル上で問合せセレクタとアップストリームOracle CQLプロセッサを併用する場合、問合せをアップストリームOracle CQLプロセッサに追加する時刻と、ダウンストリーム・チャネル上で問合せセレクタを構成する時刻との間で、ダウンストリーム・チャネル上で要求していない問合せ結果を観察する場合があります。詳細は、「チャネル・プロパティ: アウトバウンド・チャネル」を参照してください。
また、既存のOracle CQLビューまたは問合せを変更できます。「問合せウィザードによるルールの編集」を参照してください。
問合せウィザードによるルールの作成
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-1で示すように、「プロセッサ」パネルが表示されます。
「問合せウィザード」タブをクリックします。
図6-2で示すように、「問合せウィザード」タブが表示されます。
「問合せウィザード」キャンバスの上部にある各種ツールの詳細は、「問合せウィザード・ダイアグラムの管理」を参照してください。
Oracle CQL文を作成する方法を決定します。
既存のOracle Stream Analyticsサーバー・テンプレートに基づいて問合せを構成する手順:
「テンプレート」タブをクリックします。
テンプレートを選択し、キャンバスへドラッグ・アンド・ドロップします。
既存のユーザー定義テンプレートに基づいて問合せを構成するには:
ユーザー定義テンプレートタブをクリックします。
テンプレートを選択し、キャンバスへドラッグ・アンド・ドロップします。
一度に1つの演算子で問合せを構成するか、テンプレート・ベースのOracle CQL文に演算子を追加するには:
CQLコンストラクトタブをクリックします。
コンストラクトを選択し、キャンバスへドラッグ・アンド・ドロップします。
必要なコンストラクトをキャンバスへ追加し終えるまで繰り返します。
コンストラクト間の接続を構成します。
コンストラクトをダブルクリックして表示されるエディタ・ダイアログを使用し、各コンストラクトを構成します。
緑のチェック・マークが付いていないコンストラクト・アイコンは構成されていません。
緑のチェック・マークが付いているコンストラクト・アイコンは構成済です。
任意のタイミングでOracle CQL文を保存するには、「問合せの保存」ボタンをクリックします。
図6-5で示すように、「保存されたすべての問合せ」ダイアログが表示されます。
「保存されたすべての問合せ」ダイアログには、構成中のプロセッサの保存された問合せがすべてリストで表示されています。
「問合せID」フィールドに問合せ名を入力し、「保存」をクリックします。
図6-6で示すように、確認ダイアログが表示されます。
「OK」をクリックします。
問合せは、現在使用中のコンピュータのローカル・ディスクに保存されます。問合せを再ロードするには、同一のローカル・ホストからOracle Stream Analytics Visualizerへアクセスする必要があります。
保存後にOracle CQL文を再ロードするには、「問合せのロード」ボタンをクリックします。
図6-7で示すように、「保存されたすべての問合せ」ダイアログが表示されます。
問合せを選択し、「CQLのロード」をクリックします。
Oracle CQL文がキャンバスへロードされます。
Oracle CQL文をOracle CQLプロセッサへインジェクトするには、Output CQLコンストラクトを編集し、「ルールのインジェクト」をクリックします。
「CQLルール」タブに新しいルールが表示されます。
詳細は、「Output CQLコンストラクトの構成」を参照してください。
問合せの作成後、アウトバウンド・チャネル(問合せを作成した元のOracle CQLプロセッサからのチャネル・ダウンストリーム)のセレクタを更新します。これは、既存のイベント・タイプでのみ機能します。
詳細は、「チャネル・プロパティ: アウトバウンド・チャネル」を参照してください。
Oracle Stream Analytics Visualizerは、Oracle CQL問合せの構築を簡素化するための高度な問合せウィザードを提供します。CQL問合せタブで既存の問合せを選択し、問合せウィザードで問合せを編集できます。Oracle CQL問合せウィザードは、ビジネス・ユーザーが正しい構文のOracle CQL問合せを効率よく作成し、それをデプロイ済のOracle Stream Analyticsアプリケーションへ適用できるように設計されています。
問合せウィザードは、所定のルールをインポートし、Oracle CQL演算子のセットとしてグラフィックで表示します。Oracle CQL文の他の部分に影響を及ぼさずに各演算子に移動して変更できます(SELECT式の変更など)。
既存のOracle CQL問合せおよびビューを編集できます。Oracle CQLストリームおよびリレーションは編集できません。デプロイ済Oracle Stream Analyticsアプリケーションが、ストリームおよびリレーションを提供する必要があります。
問合せウィザードによるルールの編集:
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-8で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-9で示すように「CQLルール」タブが表示されます。
編集するルールを選択し、「問合せウィザード」ボタンをクリックします。
図6-10で示すように、キャンバス上で選択されたルールを含む問合せウィザードが開きます。
「問合せウィザード」キャンバスの上部にある各種ツールの詳細は、「問合せウィザード・ダイアグラムの管理」を参照してください。
任意の演算子に関連付けられたOracle CQL文を表示するには:
「ホバー」チェック・ボックスがチェックされていることを確認します。
マウス・ポインタを演算子の上に重ねます。
図6-11で示すように、Oracle CQL文が表示されます。
任意の演算子に関連付けられたOracle CQL文を変更するには、演算子をダブルクリックします。
対応するエディタ・ダイアログが表示されます。
図6-12は、「結合」演算子をダブルクリックした後のエディタ・ダイアログを示します。
エディタ・ダイアログを使用し、演算子を変更します。
すべての問合せウィザードのエディタ・ダイアログの構成に関する詳細は、「問合せウィザードによるOracle CQLコンストラクトの構成」を参照してください。
「結合の追加」ボタンをクリックし、変更を生成済のOracle CQL文へ適用します。
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
「保存」をクリックして変更を保存します。
問合せはメモリーに保存されます。
問合せの出力演算子をダブルクリックします。
「ルールの置換」をクリックします。
Oracle CQLルールが変更され、新しいバージョンが「CQLルール」タブに表示されます。
出力構文を閉じます。
パラメータ化されたOracle CQL問合せを作成できます。
注意:
問合せウィザードを使用してパラメータ化された問合せは削除できず、Oracle CQL問合せは編集できません。
詳細は、「パラメータ化された問合せの編集」を参照してください。
パラメータ化されたルールの作成
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-13で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-14で示すように「CQLルール」タブが表示されます。
「問合せ」ラジオ・ボタンをクリックします。
「問合せの追加」をクリックします。
「問合せID」フィールドに問合せ名を入力します。
「問合せ」フィールドにOracle CQL問合せを入力します。
プレースホルダー文字(:
n
)を使用して、パラメータ化された値を指定します。
「有効化」オプションを構成します。
保存した後すぐに問合せを有効化するには、「true」をクリックします。
保存後も問合せの無効化を維持するには、「false」をクリックします。
「保存」をクリックします。
図6-15で示すように、確認ダイアログが表示されます。
「OK」をクリックします。
問合せは、現在使用中のコンピュータのローカル・ディスクに保存されます。問合せを再ロードするには、同一のローカル・ホストからOracle Stream Analytics Visualizerへアクセスする必要があります。
パラメータ化された問合せを編集し、「パラメータ化された問合せの編集」で説明されているように、パラメータ値を追加します。
問合せの作成後、アウトバウンド・チャネル(問合せを作成した元のOracle CQLプロセッサからのチャネル・ダウンストリーム)のセレクタを更新します。これは、既存のイベント・タイプでのみ機能します。
詳細は、「チャネル・プロパティ: アウトバウンド・チャネル」を参照してください。
既存のOracle CQLのパラメータ化された問合せのパラメータ値を編集できます。パラメータ値の新規リストの追加、パラメータ値の既存リストの変更、またはパラメータ値の既存リストの削除を行うことが可能です。
注意:
プレースホルダー文字(:
n
)の追加や削除、および問合せウィザードを使用してOracle CQL問合せの編集はできません。
詳細は、次を参照してください。
Oracle CQL言語リファレンスのパラメータ化された問合せに関する項
パラメータ化された問合せの編集
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-16で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-17で示すように「CQLルール」タブが表示されます。
注意:
パラメータ化された問合せでは、「問合せウィザード」ボタンを使用できません。
パラメータ化された問合せを選択します。
CQLルールを使用してパラメータ化された問合せを変更します。
パラメータ化された問合せを編集するには、「問合せの編集」ボタンが使用可能になる前にすべての問合せパラメータをまず削除する必要があります。パラメータの削除の詳細は、「パラメータの削除」を参照してください。
パラメータ化された問合せを削除するには、「問合せの削除」ボタンが使用可能になる前にすべての問合せパラメータをまず削除する必要があります。詳細は、「パラメータの削除」を参照してください。
パラメータ化された問合せを停止または開始すると、パラメータ化された問合せに関連付けられたすべてのバインドが停止または開始されます。
パラメータ化された問合せを停止または開始するには、「CQLルール」タブの問合せを選択し、「停止」または「開始」ボタンをクリックします。
Oracle CQLプロセッサ内の既存のOracle CQLビューまたは問合せを削除したり、すべてのOracle CQLビューまたは問合せを削除できます。
ルールの削除
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-26で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-27で示すように「CQLルール」タブが表示されます。
ルールのリストをフィルタし、削除するルールのタイプのみを表示します。
「ビュー」を選択し、ビュー・ルールのみを表示します。
「問合せ」を選択し、問合せビューのみを表示します。
注意:
「すべてのルール」を選択した場合、単一のルールを追加、削除、または変更できません。単一のルールを追加、削除、または変更するには、特定のビューまたは問合せを選択する必要があります。ビューまたは問合せのいずれかを変更するには、「ビュー」または「問合せ」を選択する必要があります。「すべてのルール」ページは読取り専用パネルです。
また、「有効化」ラジオ・ボタンを使用すると、問合せを動的にオフにできます。
図6-28で示すように、「すべてのビューを削除」または「すべての問合せを削除」ボタンがアクティブになります。
削除するルールを決定します。
「OK」をクリックします。
Oracle Stream Analytics Visualizerを使用すると、Oracle CQL文を直接編集するか、問合せウィザードを使用するかのいずれかによって、既存のビューまたは問合せを置換できます。
ルールの置換
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-31で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-32で示すように「CQLルール」タブが表示されます。
ルールのリストをフィルタし、置換するルールのタイプのみを表示します。
「ビュー」を選択し、ビュー・ルールのみを表示します。
「問合せ」を選択し、問合せビューのみを表示します。
置換するルールを選択します。
「ビュー」または「問合せ」フィールドは編集可能になり、図6-33で示すように「ルールの置換」ボタンがアクティブになります。
次のいずれかを実行して、Oracle CQL文を編集します。
「ビュー」または「問合せ」フィールドでOracle CQL文を直接編集します。
問合せウィザードでルールを編集するには、「問合せウィザード」ボタンをクリックします。
詳細は、「問合せウィザードによるルールの編集」を参照してください。
変更を確定します。
「表示」または「問合せ」フィールドでOracle CQL文を直接編集した場合、ビューの置換または問合せの置換をクリックします。
問合せウィザードを使用してOracle CQL文を編集した場合、問合せウィザードで変更を確定します。
詳細は、「問合せウィザードによるルールの編集」を参照してください。
Oracle Stream Analytics Visualizerを使用すると、Oracle CQLプロセッサで定義された既存ルールを表示できます。
ルールの表示
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-34で示すように、「プロセッサ」パネルが表示されます。
「CQLルール」タブをクリックします。
図6-35で示すように「CQLルール」タブが表示されます。
この項では、問合せウィザードが提供する各種のOracle CQLコンストラクトを構成する方法を説明しています。これには次の内容が含まれます。
RSource Oracle CQLコンストラクトは、Oracle Stream Analyticsアプリケーションが提供するOracle CQLリレーションまたは作成するビューのリレーション・タイプを表します。ソースのストリーム・タイプSSourceを作成するには、「SSource CQLコンストラクトの構成」を参照してください。
RSource CQLコンストラクトの構成
SSource Oracle CQLコンストラクトは、Oracle Stream Analyticsアプリケーションが提供するOracle CQLストリームまたは作成するビューのストリーム・タイプを表します。ソースのリレーション・タイプRSourceを作成するには、「RSource CQLコンストラクトの構成」を参照してください。
SSource CQLコンストラクトの構成
Cache-Table CQLコンストラクトは、キャッシュまたはリレーショナル・データベース表が提供する通常は抽出データ・ソースの外部リレーションを表します。Cache-Table CQLコンストラクトで許可される操作は、「現在」
ウィンドウを使用して別のストリーム・ソースに結合する操作のみです。
詳細は、次を参照してください。
Cache-Table CQLコンストラクトの構成
Pattern Oracle CQLコンストラクトは、Oracle CQLのMATCH_RECOGNIZE
条件を表します。MATCH_RECOGNIZE
条件は、イベント処理を実行する基本的な手段です。その様々な句を使用すると、ストリーム要素間の複雑な条件を簡潔に表し、データ・ストリームに最適化された高度な比較を実行できます。
Pattern Oracle CQLコンストラクト・エディタは、次のMATCH_RECOGNIZE
補助句のそれぞれに対してタブを提供します。
PATTERN
: この句を使用すると、DEFINE
句の条件が一致するタイミングを制限および制御する数量詞を指定できます。
図6-43を参照してください。
DEFINE
: この句を使用すると、1つ以上の条件を指定できます。パターン識別子、AS
演算子、および条件から構成される1つ以上のパターンを指定します。条件は、問合せまたはビューのSELECT文で使用した識別子によって指定されるストリーム、ビューまたはスライディング・ウィンドウのスキーマで任意のストリーム要素を使用できます。
詳細は、図6-44を参照してください。
SUBSET
: この句を使用すると、1つ以上のパターンが選択するストリーム要素に名前をバインドできます。この名前のサブセットはMEASURE
およびDEFINE
句で使用できます。
図6-45を参照してください。
MEASURE
: この句を使用すると、MATCH_RECOGNIZE
条件において式を定義し、DEFINE
句で条件に一致するストリーム要素を、問合せのSELECT文に含めることが可能な引数にバインドできます。任意のOracle CQLの組込み関数またはユーザー定義関数を使用できます。
図6-46を参照してください。
構文の詳細は、Oracle CQL言語リファレンスのパターンの認識に関する項を参照してください。
Pattern CQLコンストラクトの構成
Select Oracle CQLコンストラクトは、Oracle CQLのSELECT
句を表します。WHERE
句の表現に関する詳細は、「Filter CQLコンストラクトの構成」を参照してください。
Select Oracle CQLコンストラクト・エディタは、次の補助句のそれぞれに対してタブを提供します。
select_clause
: この句を使用すると、指定するストリームまたはビューから選択するためのストリーム要素を指定できます。
図6-48を参照してください。
opt_group_by_clause
: この句を使用すると、問合せが結果に適用するオプションのグループ化条件を指定できます。
図6-49を参照してください。
opt_having_clause
: この句を使用すると、返されたストリーム要素のグループを指定した条件
がTRUE
のグループへ制限します。この句を省略すると、Oracle Stream Analyticsではすべてのグループのサマリー結果が返されます。
図6-50を参照してください。
order_by_clause
: この句を使用すると、問合せが結果に適用するオプションの順序付け条件を指定できます。
図6-51を参照してください。
Select CQLコンストラクトの構成
図6-47で示すように、「選択」アイコンをダブルクリックします。
図6-47 「選択」アイコン
図6-48で示すように、「選択」エディタ・ダイアログが表示されます。
表6-9で説明されているように、「プロジェクト」タブを編集します。
通常の手順は次のとおりです。
「ソース」を選択します。
「ターゲット・イベント・タイプ」を選択します。
「プロパティ」リストのプロパティをダブルクリックし、プロパティを「プロジェクト式」フィールドへ追加します。
「式ビルダー」ボタンをクリックし、「プロジェクト式」を作成します。
「AS」フィールドで、プロジェクト式結果の別名を入力するか、いずれかの「ターゲット・イベント・タイプ」属性を選択します。
「追加」ボタンをクリックします。
プロジェクト式を削除するには、「プロジェクト」述語リストで選択して「削除」をクリックします。
オプションで、「重複を含まない」を選択します。
表6-9 問合せウィザードの選択エディタ属性:「プロジェクト」タブ
|
「グループ」タブをクリックします。
図6-49で示すように、「グループ」タブ・エディタ・ダイアログが表示されます。
表6-10で説明されているように、「グループ」タブを編集します。
通常の手順は次のとおりです。
プルダウン・メニューからソースを選択します。
「プロパティ」リストでプロパティを選択します。
選択したプロパティをグループ化プロパティのリストに追加するには、「追加」ボタンをクリックします。
プロパティを「グループ化プロパティ」リストから削除するには、「選択したグループ化プロパティ」リストのプロパティを選択し、「削除」ボタンをクリックします。
表6-10 「問合せウィザード」の選択エディタ属性:「グループ」タブ
|
「条件」タブをクリックします。
図6-50で示すように、「条件」タブ・エディタ・ダイアログが表示されます。
表6-11で説明されているように、「条件」タブを編集します。
表6-11 問合せウィザードの「選択」エディタ属性:「条件」タブ
|
「順序」タブをクリックします。
図6-51で示すように、「順序」タブ・エディタ・ダイアログが表示されます。
表6-12で説明されているように、「順序」タブを編集します。
通常の手順は次のとおりです。
プルダウン・メニューからソースを選択します。
「プロパティ」リストでプロパティを選択します。
選択したプロパティを順序付けプロパティのリストに追加するには、「追加」ボタンをクリックします。
プロパティを「選択した順序付けプロパティ」リストから削除するには、「選択した順序付けプロパティ」リストのプロパティを選択し、「削除」ボタンをクリックします。
表6-12 問合せウィザードの「選択」エディタ属性:「順序」タブ
|
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
「保存」をクリックします。
「選択」アイコンには、構成済であることを示す緑のチェック・マークが表示されます。
Join Oracle CQLコンストラクトは、2つ以上のソース間のOracle CQLの結合を表します。+
構文(非推奨)を使用して内部結合および左右の外部結合を作成できます。
注意:
Oracle CQLルールがLEFT
またはRIGHT OUTER JOIN
句を使用する場合、「LEFTまたはRIGHT OUTER JOINを使用したJoin CQLコンストラクトの構成」を参照してください。
Join CQLコンストラクトの構成
図6-52で示すように、「結合」アイコンをダブルクリックします。
図6-52 「結合」アイコン
図6-53で示すように、「結合」エディタ・ダイアログが表示されます。
表6-13で説明されているように、ダイアログを編集します。
表6-13 「問合せウィザード」の「結合」エディタ属性
|
「ソース1」プルダウン・メニューからソースを選択します。
「ソース2」プルダウン・メニューからソースを選択します。
結合する「ソース1」の「プロパティ」リストでプロパティを選択します。
結合する「ソース2」の「プロパティ」リストでプロパティを選択します。
「結合タイプ」を選択します。
次のいずれかの手順を実行して、結合の述語を作成します。
プラス記号ボタンをクリックし、選択する「ソース1」および「ソース2」プロパティを使用して結合の述語を作成します。
「式ビルダー」ボタンをクリックし、任意の「ソース1」および「ソース2」プロパティおよびOracle CQLの関数や演算子を使用して結合の述語を作成します。
結合の述語を生成されたCQL文へ追加するには、「結合の追加」ボタンをクリックします。
結合の述語を生成されたCQL文から削除するには、「結合を元に戻す」ボタンをクリックします。
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
「保存」をクリックします。
「結合」アイコンには、構成済であることを示す緑のチェック・マークが表示されます。
Join Oracle CQLコンストラクトは、2つ以上のソース間のOracle CQLの結合を表します。LEFT
またはRIGHT OUTER
の結合構文を使用して、Oracle CQLルールの構成を表示できます。
注意:
Oracle CQLルールが非推奨の+
構文を使用して内部結合または外部結合を使用する場合、「+構文を使用したJoin CQLコンストラクトの構成」を参照してください。
図6-54は、問合せのコンストラクタで例として使用するOracle CQL外部結合を示します。
LEFTまたはRIGHT OUTER JOINを使用したJoin CQLコンストラクトの構成
Window Oracle CQLコンストラクトは、Oracle CQLのstream-to-relation演算子を表します。
Window CQLコンストラクトの構成
図6-57で示すように、「ウィンドウ」アイコンをダブルクリックします。
図6-57 「ウィンドウ」アイコン
図6-58で示すように、「ウィンドウ」エディタ・ダイアログが表示されます。
表6-14で説明されているように、ダイアログを編集します。
表6-14 「問合せウィザード」の「ウィンドウ」エディタ属性
|
パーティション化されたウィンドウが必要な場合、パーティション・リストで必要なストリーム要素を選択します。
ストリーム要素をパーティション・リストから削除するには、クリックしてドラッグし、パーティション・リストの値を選択してキーボードの[Delete]キーを押します。
「タイプ」を選択します。
「パーティション」タイプは、1つ以上のストリーム要素をパーティション・リストへ追加しない場合は非アクティブのままになります。
選択したタイプには「行ベース」または「時間ベース」を選択します。
ウィンドウのサイズを入力します。
「行ベース」タイプの場合、行数(タプルまたはストリーム要素)を入力します。
「時間ベース」タイプの場合は、時間単位数を入力して時間単位を選択します。
「スライド」を選択します。
「行ベース」タイプの場合、行数(タプルまたはストリーム要素)を入力します。
「時間ベース」タイプの場合は、時間単位数を入力して時間単位を選択します。
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
ウィンドウを生成されたCQL文へ追加するには、「ウィンドウの追加」ボタンをクリックします。
「保存」をクリックします。
「ウィンドウ」アイコンには、構成済であることを示す緑のチェック・マークが表示されます。
Filter Oracle CQLコンストラクトは、Oracle CQLのWHERE
句を表します。SELECT
およびFROM
句の表現に関する詳細は、「Select CQLコンストラクトの構成」を参照してください。
Filter CQLコンストラクトの構成
図6-59で示すように、「フィルタ」アイコンをダブルクリックします。
図6-59 「フィルタ」アイコン
図6-60で示すように、「フィルタ」エディタ・ダイアログが表示されます。
表6-15で説明されているように、ダイアログを編集します。
表6-15 「問合せウィザード」の「フィルタ」エディタ属性
|
次のいずれかの手順を実行してフィルタの述語を定義します。
フィルタの述語を直接入力します。
「式ビルダー」ボタンをクリックします。
詳細は、「式ビルダーを使用した式の構成」を参照してください。
条件式を生成されたCQL文へ追加するには、「フィルタの追加」ボタンをクリックします。
条件式を生成されたCQL文から削除するには、「フィルタの削除」ボタンをクリックします。
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
「保存」をクリックします。
ソースアイコンには、構成済であることを示す緑のチェック・マークが表示されます。
Union Oracle CQLコンストラクトは、Oracle CQLのUNION
またはUNION ALL
句を表します。2つのリレーション間の論理和を実行できます。リレーションはビューまたはチャネルから発行されます。2つのリレーション間または2つのストリーム間でunion all
を実行できます。リレーションとストリーム間の論理和は実行できません。
Union CQLコンストラクトの構成
Intersect Oracle CQLコンストラクトは、Oracle CQLのINTERSECT
句を表します。2つのリレーション間の積集合を実行します。リレーションとストリーム間または2つのストリーム間の積集合は実行できません。
Intersect CQLコンストラクトの構成
Minus Oracle CQLコンストラクトは、Oracle CQLのMINUS
句を表します。2つのリレーション間の論理差を実行します。リレーションとストリーム間または2つのストリーム間の論理差は実行できません。
Minus CQLコンストラクトの構成
IStream Oracle CQLコンストラクトは、Oracle CQL IStreamのrelation-to-stream演算子を表します。リレーションR
へ適用されるIstream
(「ストリームの挿入」の略)には、タプルs
がR(t) - R(t-1)
の中にある場合、つまりs
がt
の時点でR
へ挿入される場合は常に(s,t)
が含まれます。同じタイムスタンプでタプルの挿入と削除の両方が発生した場合、Istream
では挿入が出力されません。
IStream CQLコンストラクトの構成
DStream Oracle CQLコンストラクトは、Oracle CQL DStreamのrelation-to-stream演算子を表します。リレーションR
へ適用されるDStream
(「ストリームの削除」の略)には、タプルs
がR(t-1) - R(t)
の中にある場合、つまりs
がt
の時点でR
から削除される場合は常に(s,t)
が含まれます。
DStream CQLコンストラクトの構成
RStream Oracle CQLコンストラクトは、Oracle CQL RStreamのrelation-to-stream演算子を表します。RStream
演算子は、入力リレーションの現在の状態全体を保持し、各タイム・ステップにおける挿入に従ってタプルすべてを出力します。Rstream
では各瞬間のリレーション全体の状態が出力されるため、リレーション・セットが非常に小さい場合を除き、コストがかかる可能性があります。
RStream CQLコンストラクトの構成
Output Oracle CQLコンストラクトは、完全なOracle CQLの問合せまたはビューを表します。Output CQLコンストラクトを使用すると、次の操作を実行できます。
完全なOracle CQL文を見直して編集します。
Oracle CQL文のコピーを作成し、それを別名でOracle CQLプロセッサへインジェクトします。この方法は、共通の構造体を共有する複数の文を作成する必要があるときに、既存の文を複製および変更するのに便利です。
ビューと問合せの間で変換します。
Output CQLコンストラクトの構成
図6-73で示すように、「出力」アイコンをダブルクリックします。
図6-73 「出力」アイコン
図6-74で示すように、「出力」エディタ・ダイアログが表示されます。
表6-22で説明されているように、ダイアログを編集します。
表6-22 「問合せウィザード」の「出力」エディタ属性
|
Oracle CQLルール全体の新規インスタンスをOracle CQLプロセッサへインジェクトするには:
新規ルールを作成する場合、「ルールのインジェクト」をクリックします。
Oracle CQLルールの新規インスタンスがOracleルールタブに表示されます。
既存ルールを変更する場合は、次の手順を実行します。
「問合せ名」または「ビュー名」フィールド内をクリックし、問合せ名またはビュー名を変更します。
「ルールのインジェクト」をクリックします。
Oracle CQLルールの新規インスタンスが、新しい名前でOracleルールタブに表示されます。
Oracle CQLプロセッサのOracle CQLルール全体の既存インスタンスを置換するには、「ルールの置換」をクリックします。
Oracle CQLルールの既存インスタンスが、既存の名前のままOracleルールタブで更新されます。
「検証」ボタンをクリックし、変更が正しい構文であることを確認します。
次に進む前にエラーを修正します。
「保存」をクリックします。
「出力」アイコンには、構成済であることを示す緑のチェック・マークが表示されます。
Oracle Stream Analytics Visualizerは、Oracle CQLビューおよび問合せの構成を簡素化するための高度な問合せウィザードを提供します。完全なOracle CQLビューまたは問合せテンプレートをドラッグ・アンド・ドロップし、必要に応じてカスタマイズできます。この手順では、独自のテンプレートを作成して問合せウィザードの「テンプレート」パレットへ追加する方法を説明します。
Oracle CQLテンプレートは、「Oracle CQL問合せウィザードのテンプレート・スキーマ・リファレンス」のwlevs_queryconstructor_config.xsd
に基づいています。ただし、ユーザー定義テンプレートには次のみが含まれる場合があります。
select-block
from-block
where-block
Operator
要素および属性ID
およびtype
Operator
要素のinputs
子要素
テンプレートを使用したOracle CQLルールの作成に関する詳細は、「問合せウィザードによるルールの作成」を参照してください。
問合せウィザード用Oracle CQLテンプレートの作成
この項では、図6-77で示すように、問合せウィザード・キャンバスの最上位に表示される各種ツールを説明します。
これらのツールを使用すると、Oracle CQL文の「問合せウィザード」ダイアグラムを管理できます。
「レイアウトの選択」プルダウン・メニューを使用して、CQLコンストラクトの配布およびその依存度の表示に関する代替方法を選択します。次のいずれかを選択できます。
左-右
下-上
右-左
上-下
「ホバー」オプションを選択すると、マウス・ポインタをステージの上に重ねたときに所定のステージに関連付けられたOracle CQL文のフラグメントを表示できます。
「ホバー」オプションの選択を解除すると、この機能が無効になります。
「ズーム・イン」および「ズーム・アウト」ボタンをクリックすると、ズーム・レベルが変化します。これは、「ズーム」スライダを使用した操作のかわりになります(「ズーム」を参照してください)。
「ズーム」スライダを使用すると、ズーム・レベルを増減できます。これは、「ズーム・イン」および「ズーム・アウト」ボタンを使用した操作のかわりになります(「ズーム・インおよびズーム・アウト」を参照してください)。
Oracle Stream Analytics Visualizerは、Oracle CQL問合せの最適化を簡素化するための高度な問合せ計画ファシリティを提供します。
問合せ計画ファシリティを使用して、任意のOracle CQLプロセッサを内部の演算子、状態、およびシノプシスに分解し、受信/送信メッセージ数など、演算子に関する各種統計を収集できます。問合せ計画ファシリティは、Oracle CQLプロセッサごとに1つの問合せを生成し、そのOracle CQLで定義するすべての問合せおよびビューに適用します。
Oracle CQL問合せ計画ファシリティは、システム管理者がOracle CQL問合せのパフォーマンスを効果的に診断して最適化できるように設計されています。
この節では、以下のトピックについて説明します。
注意:
Oracle Stream Analytics Visualizerが問合せ計画を生成する前に、Oracle CQLプロセッサ上で実行中のOracle CQL問合せ(Running属性がtrue
に設定)が少なくとも1つ存在している必要があります。詳細は、「ルールの表示」を参照してください。
Oracle Stream Analytics Visualizerを使用してOracle CQLプロセッサの問合せ計画を表示できます。
Oracle CQLプロセッサ用問合せ計画の表示
左ペインで、アプリケーションがデプロイされているOracle Stream Analyticsインスタンスの「アプリケーション」ノードに移動し、展開します。
「appname」を選択します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサを選択します。
EPNダイアグラムを使用するには:
「イベント処理ネットワーク」タブをクリックします。
使用するOracle CQLプロセッサをダブルクリックします。
ドメイン・ツリーを使用するには:
「appname」→「ステージ」ノードを展開します。ここで、「appname」は、使用するアプリケーション名です。
使用するOracle CQLプロセッサをクリックします。
右ペインで、「一般」タブをクリックします。
図6-78で示すように、「プロセッサ」パネルが表示されます。
「問合せ計画」タブをクリックします。
図6-79で示すように、「問合せ計画」タブが表示されます。
問合せ計画キャンバスの上部にある各種ツールの詳細は、「問合せ計画ダイアグラムの管理」を参照してください。
任意のステージの「プロパティ」表のプロパティおよび値を表示するには、次のいずれかを実行します。
右側の問合せ計画ダイアグラムの「ステージ」アイコンをクリックします。
左側の「データ」表の対応する行も選択されます。
左側の「データ」表にある、ステージに対応する行をクリックします。
「問合せ計画」ダイアグラムの対応するステージ・アイコンも選択されます。
問合せ計画を構成するには、「問合せ計画プリファレンス」ボタンをクリックします。
図6-80で示すように、「問合せ計画プリファレンス」ダイアログが表示されます。
表6-24で説明されているように、ダイアログを編集します。
表6-24 「問合せ計画プリファレンス」属性
|
統計の収集を開始するには、「統計の取得」ボタンをクリックします。
「統計の取得」ボタンが「統計の停止」ボタンに変わります。
図6-81で示すように、「データ」表の列には、現在の統計が(表プリファレンス構成の「表示される演算子の統計」フィールドに従って)表示され、しきい値の違反は(グラフおよびしきい値プリファレンス構成の「表示される演算子の統計」フィールドに従って)問合せ計画ダイアグラムに赤色で表示されます。
統計の収集を停止するには、「統計の停止」ボタンをクリックします。
割合判定ステップを決定するためにステージへドリルダウンするには、次のいずれかを実行します。
しきい値の違反を示す、右側の問合せ計画ダイアグラムのステージ・アイコンをクリックします。
左側の「データ」表の対応する行も選択されます。
左側の「データ」表にある、ステージに対応する行をクリックします。
「問合せ計画」ダイアグラムの対応するステージ・アイコンも選択されます。
ステージ間の依存関係を表示するには、「データ」表の「出力」行をクリックします。
すべての依存性ステージは、図6-82で示すように、問合せ計画ダイアグラムで選択されます。
この項では、図6-83で示すように、問合せウィザード・キャンバスの最上位に表示される各種ツールを説明します。
これらのツールを使用すると、Oracle CQL文の「問合せウィザード」ダイアグラムを管理できます。
「レイアウトの選択」プルダウン・メニューを使用して、CQLコンストラクトの配布およびその依存度の表示に関する代替方法を選択します。次のいずれかを選択できます。
左-右
下-上
右-左
上-下
Oracle Stream Analyticsに命令して問合せ計画のステージの統計を収集し始めるには、「統計の取得」ボタンを使用します。
「統計の取得」ボタンをクリックすると、「統計の停止」ボタンに変わります。「統計の停止」ボタンをクリックすると、統計の収集を停止できます。