ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド
ここでは,s1,s2の2種類の入力リレーションを銘柄ごとに結合した結果を出力リレーションとして抽出する例を示します。
CQLの定義例を次に示します。なお,実際のCQLの定義では,列名は半角英数字で指定してください。
REGISTER QUERY q SELECT s1.銘柄名, s1.値上がり率, s2.銘柄名, s2.GCフラグ FROM s1[PARTITION BY s1.銘柄名 ROWS 1], s2[PARTITION BY s2.銘柄名 ROWS 1] WHERE s1.銘柄名=s2.銘柄名;
このCQLを定義した場合の入力リレーションと出力リレーションの例を次の図に示します。
図2-11 結合処理の例
図の横軸は時間軸です。右に行くほど時間が経過しています。t1〜t6は,タプルが到着した時刻を示します。また,入力リレーションのs1のタプルは,「銘柄名,値上がり率」で構成されており,s2のタプルは,「銘柄名,GCフラグ」で構成されています。なお,GCフラグの値は,「DC(Dead Cross)」,「GC(Golden Cross)」のどちらかです。
この例では,銘柄名によって結合処理を実行して出力します。
時刻tAでは,入力リレーションのs1にはタプル「(A社,1.0)」,s2にはタプル「(A社,GC)」があります。これらを銘柄名で結合した結果として,出力リレーションには,タプル「(A社,1.0,A社,GC)」が出力されます。
同様に,時刻tBでは,入力リレーションのs1のタプルとして「(A社,1.2)」「(B社,1.3)」があり,s2のタプルとして「(A社,DC)」「(B社,GC)」があります。これらを銘柄名で結合した結果として,出力リレーションには,タプル「(A社,1.2,A社,DC)」「(B社,1.3,B社,GC)」が出力されます。
このように,特定時刻での結合処理の結果は,入力リレーションのタプルの生存期間に応じたタプルとして,出力リレーションに抽出されます。
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.