ファイル出力ジョブ

概要

本サンプルバッチジョブは、MongoDBを全件検索し、結果をCSVファイルに出力します。

本バッチで利用する部品

本サンプルジョブでは以下の部品を利用します。

  • KVS参照(一覧) :getkvs
  • CSVデータ出力 :setcsv

注意事項

  • 本作業はrootユーザで実行してください。

動作手順

1. 以下の資材をCAPサーバに展開します

tar xvf GetKVSAndSetCSV.tar.gz -C /tmp

2. taskDefにファイルを2つ配置します

以下のコマンドを実行し、taskDefをBatchControllerにコピーしてください。

cp /tmp/GetKVSAndSetCSV/taskDef/MongoToCsv_getMongo.xml /usr/local/appf/BatchController/taskDef
cp /tmp/GetKVSAndSetCSV/taskDef/MongoToCsv_setCsv.xml /usr/local/appf/BatchController/taskDef

3. csv.propertiesに設定を追加します

以下のコマンドを実行し、「追」が記載された行を追加する

vi /usr/local/appf/BatchController/csv.properties
   1 tsetCsv=id,value,name,kind,time
追 2 mongoToCsv=key,field-1,field-2

4. BatchControllerを再起動します

以下のコマンドを実行し、BatchControllerを再起動してください。

systemctl restart BatchController

5. MongoDBにサンプルデータを登録します

  1. 以下のコマンドを実行し、「baas_development_XXXXXXXXX」となっているDB名を確認してください。
mongo -u admin -p admin

> show dbs
admin                                         0.000GB
baas_development                              0.001GB
baas_development_61eaae0bf482801511c9013c     0.556GB
baas_development__SYSTEM_                     0.000GB
baas_development_fs_61eaae0bf482801511c9013c  0.000GB
  1. 以下のコマンドを実行し、MongoDBにドキュメントを登録します。
> use baas_development_61eaae0bf482801511c9013c
switched to db baas_development_61eaae0bf482801511c9013c

> db.test_table.insert({ 'key':'20180702', 'field-1':'data0', 'field-2':'data00' });
WriteResult({ "nInserted" : 1 })

> quit()

6. m2m_maintenance_web からバッチジョブを登録します

  1. Webブラウザでm2m_maintenance_webにログインしてください。
    http://localhost:8080/m2m_maintenance_web/
  2. 画面右上のメニューからバッチメンテナンスを開いてください。
  3. 「バッチマスタメンテナンス」画面で「新規作成」を押下してください。
  4. 「新規登録」画面で「jobDef」ディレクトリの「batchJob_GetKVSAndSetCSV.txt」を選択し、「登録」を押下してください。
  5. 「バッチマスタメンテナンス」画面より「設定再読込」を押下してください。
  6. 「設定再読込」画面で、設定再読込を行うサーバを選択肢て「実行」を押下してください。

7. m2m_maintenance_web からジョブ実行します

  1. 「バッチマスタメンテナンス」画面より先ほど登録したバッチを選択し、「投入」を実行してください。
  2. 「バッチ投入」画面で、「投入サーバ」を選択し、「投入」を押下してください。

8. バッチジョブの実行結果を確認します

BatchControllerが動作しているサーバに以下のファイルが出力されていることを確認してください。

  • /tmp/test.csv
"key","field-1","field-2"
"20180702","data0","data00"