ストリームデータ処理基盤

uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド

手引・文法書

3020-3-V03-20


目  次

前書き
変更内容
はじめに
第1編 お読みいただく前に
1. Stream Data Platform - AFでのアプリケーション開発の概要
1.1 導入から運用までの流れ
1.2 このマニュアルの構成
1.3 アプリケーション開発の概要
1.3.1 クエリの定義でできること
1.3.2 カスタムアダプターの作成でできること
第2編 CQLプログラミング
2. CQLによるクエリの定義
2.1 CQLの体系
2.2 ウィンドウ演算による入力リレーションの生成
2.2.1 ウィンドウ演算の種類
2.2.2 ウィンドウ演算の例
2.3 関係演算によるデータの抽出
2.3.1 関係演算の種類
2.3.2 結合処理の例
2.3.3 集合関数による演算処理の例
2.3.4 結合処理とROWSウィンドウを併用する場合の注意事項
2.4 ストリーム化演算による出力ストリームデータへの変換
2.4.1 ストリーム化演算の種類
2.4.2 ストリーム化演算の例
2.5 時刻解像度の指定によるメモリ使用量増加の抑止
2.6 定義例
2.6.1 基本的なクエリの定義例
2.6.2 時刻解像度を指定した定義例
3. CQLの基本項目とデータ型
3.1 CQLによるクエリ定義
3.1.1 CQLの記述形式
3.1.2 CQLで使用できる文字
3.1.3 CQL文法説明で使用する記号
3.2 CQLの基本項目の指定方法
3.2.1 キーワードの指定
3.2.2 数値の指定
3.2.3 区切り文字の挿入
3.2.4 名前の指定
3.2.5 名前の修飾
3.2.6 定数の指定
3.3 CQLのデータ型
3.3.1 CQLのデータ型とJavaのデータ型のマッピング
3.3.2 DECIMAL型およびNUMERIC型についての注意事項
3.4 データの比較
3.4.1 比較できるデータ型の組み合わせ
3.4.2 データを比較する際の留意点
3.5 クエリ定義での注意事項および制限値
3.5.1 クエリ定義での注意事項
3.5.2 クエリ定義での制限値
4. CQLリファレンス
4.1 CQL文法説明で使用する記述形式
4.2 CQLの一覧
4.3 定義系CQL
4.3.1 REGISTER STREAM句(ストリームの定義)
4.3.2 REGISTER QUERY句(クエリの定義)
4.3.3 REGISTER QUERY_ATTRIBUTE句(時刻解像度の指定)
4.4 操作系CQL
4.4.1 問い合わせ
4.4.2 ストリーム句
4.4.3 リレーション式
4.4.4 SELECT句
4.4.5 FROM句
4.4.6 WHERE句
4.4.7 GROUP BY句
4.4.8 HAVING句
4.4.9 UNION句
4.4.10 選択リスト
4.4.11 選択式
4.4.12 列指定リスト
4.4.13 リレーション参照
4.4.14 ウィンドウ指定
4.4.15 時間指定
4.4.16 探索条件
4.4.17 比較述語
4.4.18 値式
4.4.19 定数
4.4.20 集合関数
4.4.21 組み込み集合関数
4.4.22 スカラ関数
4.4.23 組み込みスカラ関数
4.4.24 ストリーム間演算関数
4.4.25 外部定義ストリーム間演算関数
5. CQLで指定する組み込み関数
5.1 組み込み関数の一覧
5.2 統計関数の詳細
統計関数
CORREL関数
COVAR関数
COVAR_POP関数
STDDEV関数
STDDEV_POP関数
VAR関数
VAR_POP関数
5.3 数学関数の詳細
数学関数
ABS関数
ACOS関数
ASIN関数
ATAN関数
ATAN2関数
CEIL関数
COS関数
COSH関数
DISTANCE関数
DISTANCE3関数
EXP関数
FLOOR関数
LN関数
LOG関数
MOD関数
NAN関数
NEGATIVE_INFINITY関数
PI関数
POSITIVE_INFINITY関数
POWER関数
ROUND関数
SIN関数
SINH関数
SQRT関数
TAN関数
TANH関数
TODEGREES関数
TORADIANS関数
5.4 文字列関数の詳細
文字列関数
CONCAT関数
LENGTH関数
LEQ関数
LGE関数
LGT関数
LLE関数
LLT関数
REGEXP_FIRSTSEARCH関数
REGEXP_REPLACE関数
REGEXP_SEARCH関数
SPLENGTH関数
5.5 時刻関数の詳細
時刻関数
TIMEDIFF関数
TIMESTAMPDIFF関数
5.6 変換関数の詳細
変換関数
BIGINT_TOSTRING関数
DECIMAL_TOSTRING関数
DOUBLE_TOSTRING関数
INT_TOSTRING関数
NUMBER_TODATE関数
NUMBER_TOTIME関数
REAL_TOSTRING関数
TIME_TONUMBER関数
TIMESTAMP_TONUMBER関数
6. クエリ定義のサンプル
6.1 クエリ定義のサンプルの種類
第3編 カスタムアダプター作成
7. カスタムアダプターの作成
7.1 作成するカスタムアダプターの種類
7.1.1 データ送信APとデータ受信AP
7.1.2 データの送受信方法による分類(RMI連携カスタムアダプターとインプロセス連携カスタムアダプター)
7.2 RMI連携カスタムアダプターの作成
7.2.1 ストリームデータの送信(RMI連携カスタムアダプター)
7.2.2 クエリ結果データの受信(RMI連携カスタムアダプター)
7.3 インプロセス連携カスタムアダプターの作成
7.3.1 ストリームデータの送信(インプロセス連携カスタムアダプター)
7.3.2 クエリ結果データの受信(インプロセス連携カスタムアダプター)
7.3.3 注意事項
7.4 カスタムアダプターで実装する処理
7.4.1 データ受信APの終了契機の把握(データ処理終了の通知)
7.4.2 データソースモードでの時刻情報の設定
7.4.3 キューあふれの事前防止
7.5 コンパイル手順
7.6 カスタムアダプター作成時の留意事項
8. データ送受信用API
8.1 データ送受信用APIの記述形式
8.2 データ送受信用APIの一覧
8.3 SDPConnectorインタフェース(共通API)
close()メソッド
isClosed()メソッド
openStreamInput(String group_name,String stream_name)メソッド
openStreamOutput(String group_name,String stream_name)メソッド
8.4 SDPConnectorFactoryクラス(RMI連携用)
connect()メソッド
8.5 StreamEventListenerインタフェース(インプロセス連携用)
onEvent(StreamTuple tuple)メソッド
8.6 StreamInprocessUPインタフェース(インプロセス連携用)
execute(SDPConnector con)メソッド
stop()メソッド
8.7 StreamInputインタフェース(共通API)
close()メソッド
getFreeQueueSize()メソッド
getMaxQueueSize()メソッド
isStarted()メソッド
put(ArrayList<StreamTuple> tuple_list)メソッド
put(StreamTuple tuple)メソッド
putEnd()メソッド
8.8 StreamOutputインタフェース(共通API)
close()メソッド
get()メソッド
get(int count)メソッド
get(int count, long timeout)メソッド
getAll()メソッド
getAll(long timeout)メソッド
getFreeQueueSize()メソッド
getMaxQueueSize()メソッド
registerForNotification(StreamEventListener n)メソッド
unregisterForNotification(StreamEventListener n)メソッド
8.9 StreamTimeクラス(共通API)
equals(StreamTime when)メソッド
getTimeMillis()メソッド
hashCode()メソッド
toString()メソッド
8.10 StreamTupleクラス(共通API)
StreamTuple(Object[] dataArray)コンストラクター
equals(Object obj)メソッド
getDataArray()メソッド
getSystemTime()メソッド
hashCode()メソッド
toString()メソッド
8.11 例外クラス(共通API)
SDPClientExceptionクラス(共通API)
SDPClientFreeInputQueueSizeThresholdOverExceptionクラス(共通API)
SDPClientFreeInputQueueSizeLackExceptionクラス(共通API)
9. データ送受信用APIを使用したサンプルプログラム
9.1 サンプルプログラムの構成
9.2 RMI連携カスタムアダプターのサンプルプログラム
9.2.1 RMI連携カスタムアダプターのサンプルプログラムの実行手順
9.2.2 クエリグループの定義内容(RMI連携カスタムアダプター)
9.2.3 RMI連携データ送信APの内容
9.2.4 RMI連携データ受信APの内容
9.3 インプロセス連携カスタムアダプターのサンプルプログラム
9.3.1 インプロセス連携カスタムアダプターのサンプルプログラムの実行手順
9.3.2 クエリグループの定義内容(インプロセス連携カスタムアダプター)
9.3.3 インプロセス連携送受信制御APの内容
9.3.4 インプロセス連携データ送信APの内容
9.3.5 インプロセス連携データ受信APの内容(ポーリング方式)
第4編 外部定義関数作成
10. 外部定義関数の作成
10.1 外部定義関数の概要
10.2 外部定義関数の実装
10.2.1 外部定義関数のクラスの実装
10.2.2 外部定義関数のメソッドの実装
10.2.3 外部定義関数の変更
10.3 外部定義関数の作成例
11. 外部定義関数インタフェース
11.1 外部定義関数インタフェースの記述形式
11.2 外部定義関数インタフェースの一覧
11.3 SDPExternalStreamFunctionインタフェース
executeStreamFunc(Collection<Object[]>[] ObjectArrayCollection,Timestamp timestamp)メソッド
initialize()メソッド
terminate()メソッド
付録
付録A 各バージョンの変更内容
付録B このマニュアルの参考情報
付録B.1 関連マニュアル
付録B.2 このマニュアルでの表記
付録B.3 英略語
付録B.4 KB(キロバイト)などの単位表記について
索引