ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework システム構築・運用ガイド

[目次][索引][前へ][次へ]

4.4.3 クエリグループの停止

SDPサーバに登録されているクエリグループを停止します。クエリグループの停止前にアダプターの停止が完了している必要があります。

一日のうちの特定の時間だけ動かすクエリグループを停止させる場合や,連続で稼働しているクエリグループをメンテナンスする場合に実行します。クエリグループを停止すると,アダプターからの送信データを受け付けないようになります。

クエリグループの停止には次の二つの方法があります。

ここでは,正常停止,強制停止の詳細,およびクエリグループの停止時のリレーションの破棄について説明します。

<この項の構成>
(1) クエリグループの正常停止
(2) クエリグループの強制停止
(3) リレーションの破棄

(1) クエリグループの正常停止

日常運用の中でクエリグループを停止する場合は,正常停止します。正常停止を実行すると,入力ストリームキュー内のタプルの処理が完了してから,クエリグループを停止します。

クエリグループを正常停止するには,sdpcqlstopコマンドを実行します。コマンドの実行例を次に示します。この例では,クエリグループ用プロパティファイルをQueryGroupSampleとしています。

<運用ディレクトリ>\bin\sdpcqlstop QueryGroupSample

sdpcqlstopコマンドについては,「7. コマンド」の「sdpcqlstop(クエリグループの停止)」を参照してください。

(2) クエリグループの強制停止

クエリグループの実行中にトラブルが発生したときなど,直ちにクエリグループを停止する場合に強制停止します。強制停止を実行すると,入力ストリームキュー内のタプルを破棄して,クエリグループを停止します。

クエリグループを強制停止するには,sdpcqlstopコマンドに-forceオプションを指定して実行します。コマンドの実行例を次に示します。この例では,クエリグループ用プロパティファイルをQueryGroupSampleとしています。

<運用ディレクトリ>\bin\sdpcqlstop -force QueryGroupSample

sdpcqlstopコマンドについては,「7. コマンド」の「sdpcqlstop(クエリグループの停止)」を参照してください。

(3) リレーションの破棄

リレーションとは,ウィンドウ演算によって取り出されたタプルの集合です。このタプルの集合が,データ操作演算の対象となります。ウィンドウ演算とは,ストリームデータに対し,集計・分析を行う範囲を指定する演算で,CQLで定義します。CQLでのウィンドウ演算については,マニュアル「uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド」を参照してください。

クエリグループを停止したときに残っていた入力リレーションは,停止処理の中で破棄されます。また,次にクエリグループを開始した際には前回の入力リレーションを引き継がないで,新たに入力リレーションを開始します。

クエリグループの停止時の入力リレーションの状態を次の図に示します。

図4-3 クエリグループの停止時の入力リレーションの状態

[図データ]

この図では,ウィンドウ演算に[ROWS 3]を指定した場合の,クエリグループの停止時の入力リレーションの状態を示しています。[ROWS 3]は,入力リレーション内に同時に生存するタプル数が3であることを示します。図の横軸は時間軸です。右に行くほど時間が経過しています。t1〜t5は,タプルが到着した時刻を示します。また,各タプルは,「銘柄名,値上がり率」で構成されています。

クエリグループを停止したとき,「(A社,0.8)」,「(B社,1.1)」および「(A社,1.0)」のタプルが生存する入力リレーションが破棄されます。また,クエリグループが開始されたあとのt5で到着した「(A社,1.2)」のタプルが生成され,新しい入力リレーションが開始されます。