付録A.1 ExportCsvFunction(データの出力)
このサンプルプログラムは,EADSサーバに格納されているデータをCSV形式でファイルに出力します。
このユーザファンクションの引数と戻り値は文字列のため,eztool execfuncコマンドで実行できます。
(1) 規則
-
keyが<グループ名>:<yyyyMMddHHmmss>に合致する形式で,対象のEADSサーバに格納されているデータが出力されます。
年(yyyy),月(MM),日(dd),時(HH),分(mm),秒(ss)の各桁は固定なので,足りない桁は0で補ってください。これ以外の形式のkeyのデータは出力されません。
-
valueは文字列表現であるtoString()の戻り値が出力されます。
-
出力するCSVファイルの文字エンコーディングは,Javaのデフォルトエンコーディングになります。
-
key,valueにコンマなどが含まれていた場合でも,そのまま出力されます。
(2) ユーザファンクション名
samplefunc.ExportCsvFunction
(3) ユーザファンクション引数
ユーザファンクションに次の引数を渡します。
<CSVファイル名>[,<時間範囲>]
データ出力先のCSVファイル名を指定します。CSVファイルは,<運用ディレクトリ>/store下に出力されます。
CSVファイル名には,最大32文字の半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_),およびピリオド(.)が指定できます。
特定のデータを出力したい場合は,時間範囲(開始時刻,終了時刻)を指定します。
- <時間範囲>:
-
[<開始時刻>]:[<終了時刻>]
開始時刻,終了時刻は,yyyyMMddHHmmss形式で指定します。
- yyyyMMddHHmmss:
-
yyyy:年,MM:月,dd:日,HH:時(00〜23),mm:分,ss:秒
また,どちらかの時刻を省略できます。開始時刻を省略した場合は最初のデータから,終了時刻を省略した場合は最後のデータまで出力されます。
- (例)exportdata2.csv,20131120150000:
-
2013年11月20日15時以降のkey,valueをexportdata2.csvに出力します。
(4) 実行例
eztool execfuncコマンドでサンプルプログラムを実行します。
- (例1)
-
キャッシュcache1に格納されているkey,valueをexportdata1.csvに出力します。
eztool execfunc cache1 samplefunc.ExportCsvFunction exportdata1.csv
- (例2)
-
キャッシュcache2に格納されている2013年11月20日15時までのkey,valueをexportdata2.csvに出力します。
eztool execfunc cache2 samplefunc.ExportCsvFunction exportdata2.csv,:20131120150000
(5) CSVファイル出力例
# key,value
group0:20131122102030,value1
group0:20131122103000,value2
(6) 例外処理
例外が発生した場合は,例外の内容をユーザログに出力し,ユーザファンクションの実行を中断します。
(7) 戻り値
"Success":CSVファイルの出力に成功した場合
"Failure":CSVファイルの出力に失敗した場合
(8) 注意事項
このAPIは複数同時に実行できません。ファンクション定義のeads.function.<ユーザファンクション名>.maxExecuteThreadsパラメタに1を指定し,最大同時実行スレッド数を制限してください。