Embulk 出力プラグインガイド
Revision: 1.1.0-426
1 Embulk用GridDB出力プラグイン
Embulk用GridDB出力プラグインはレコードをGridDBのデータベースにロードします。
1.1 概要
Embulk用GridDB出力プラグインは他のデータベースのデータをGridDBに転送します。
- プラグインのタイプ: 出力
- レジューム実行: 不可 (処理失敗の場合、全データをクリーンアップし、再実行してください。)
1.2 構成
- type: プラグイン名"Embulk用GridDB出力プラグイン"を意味するgriddbを指定。
- mode_cluster: クラスタのモード (PROVIDER)
- database: GridDBのデータベース名を指定。
- cluster: クラスタ名 GridDB
- container: GridDBのコンテナ名
- provider_url: プロバイダ・メソッドで使われるアドレスプロバイダのURL
- user: GridDB gsad(管理)ユーザ
- password: GridDB gsadmユーザのパスワード
- mode_insert: データ挿入のモード(appendまたはreplace)
- batch_size: コンテナへの単一バッチインサートのサイズ (整数)
- default_timezone: カラムタイプが
TIMESTAMP
でembulkタイプがcolumn
の場合、値はdefault_timezoneでフォーマットされます。各カラムのタイムゾーンは column_optionsオプション (string, デフォルト:UTC
)を用いて上書きできます。 - column_options: キーがカラム名で、値が以下の構成のパラメータを持つマップ (任意)。
- name: カラム名
- type: カラム値は本embulkタイプに変換されます。対応済みの変換タイプについては以下を参照。
- boolean: BOOLEAN, STRING
- long: LONG, INTEGER, STRING
- double: DOUBLE, FLOAT, STRING
- float: FLOAT, DOUBLE, STRING
- string: BOOLEAN, INTEGER, FLOAT, STRING, TIMESTAMP
- timestamp: STRING, TIMESTAMP
- timestamp_format: GridDBタイプのカラムのタイプが
TIMESTAMP
でembulkタイプのカラムのタイプがstring
の場合、カラム値は本timestamp_formatで初期化されます。embulkタイプのカラムのタイプがtimestamp
の場合、本timestamp_formatが出力プラグインで使用されることがあります。例えば、stdoutプラグインはtimestamp_formatを使用しますが、csv初期化プラグインは使用しません。 (string, デフォルト:date
の場合、yyyy-MM-dd
、time
の場合、hh:mm:ss
、timestamp
の場合、yyyy-MM-dd hh:mm:ss
)。 - timezone: カラムのsqlタイプが
TIMESTAMP
でembulkのタイプがstring
の場合、カラム値は本タイムゾーンで初期化されます。
1.3 例
- mode_cluster: PROVIDER
out:
type: griddb
mode_cluster: PROVIDER
provider_url: http://172.0.0.10/mycluster.json
cluster: mycluster
database: db_embulk
container: container_embulk
user: admin
password: admin
mode_insert: replace
default_timezone: UTC
batch_size: 1000000
column_options:
last_update: {type: string, timestamp_format: 'yyyy-MM-dd HH:mm:ss.SSS', timezone: 'Asia/Kolkata'}
下記例では、コンテナ名が既に存在する場合、ユーザは出力コンテナを差し替えるよう選択しています。
構成ファイル中のmode_insertはreplaceモードに設定する必要があります。 (コンテナが存在しない場合、プラグインは新規のコンテナを作成します。)
out:
type: griddb
mode_cluster: PROVIDER
provider_url: http://172.0.0.10/mycluster.json
cluster: mycluster
database: db_embulk
container: container_embulk
user: admin
password: admin
mode_insert: replace
default_timezone: UTC
batch_size: 1000000
column_options:
last_update: {type: string, timestamp_format: 'yyyy-MM-dd HH:mm:ss.SSS', timezone: 'Asia/Kolkata'}
下記例では、コンテナ名が既に存在する場合、ユーザは出力コンテナに追記するよう選択しています。
構成ファイル中のmode_insertはappendモードに設定する必要があります。(コンテナが存在しない場合、プラグインは新規のコンテナを作成します。)
out:
type: griddb
mode_cluster: PROVIDER
provider_url: http://172.0.0.10/mycluster.json
cluster: mycluster
database: db_embulk
container: container_embulk
user: admin
password: admin
mode_insert: append
default_timezone: UTC
batch_size: 1000000
column_options:
last_update: {type: string, timestamp_format: 'yyyy-MM-dd HH:mm:ss.SSS', timezone: 'Asia/Kolkata'}
1.4 ビルド
$ gradle package # -t ファイルの変化を監視し、連続的にリビルド
1.5 実行例
実行:
./embulk-0.9.17.jar run -L ./embulk-output-griddb/ config.yml