embulkとは
Embulkはバルクデータローダーです。データベース、ストレージ、ファイルフォーマット、クラウドサービス、およびその他のタイプの間のデータ転送をサポートしてくれます。
特徴は、以下があげられます。
- プラグインの種類からの入力と出力の組み合わせ
- 入力ファイル形式の自動推測
- ビッグデータを扱うための並列実行
- トランザクション制御
ここでは、インストールおよび簡単なサンプル実行方法を記載します。
embulkをインストールする
javaのインストール
javaが入っていない場合は、javaをインストールします。
ランタイムが入っていればいいのでjre8をインストールします。
Download the Latest Java LTS Free
Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.
環境変数にJAVA_HOMEを追加して、jreの場所を設定します。
例:C:\Program Files\Java\jre1.8.0_261
embulkのインストール
Windowsの場合、以下のコマンドでembulkをインストールします。
任意のインストール先のディレクトリに移動してから実施します。
PowerShell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::TLS12; Invoke-WebRequest http://dl.embulk.org/embulk-latest.jar -OutFile embulk.bat}"
embulkを実行する
サンプルファイルをtry1フォルダ以下に作成します。
embulk example ./try1
seed.ymlをもとにして、config.ymlを生成します。
seed.ymlはデフォルトで以下の様になってます。この処理で、すでに入っているCSVファイルの内容から推測して、細かな設定情報をconfig.ymlに生成してくれます。
in: type: file path_prefix: 'C:\Users\remix\.\try1\csv\sample_' out: type: stdout
以下のコマンドで、config.ymlを生成します。
embulk guess ./try1/seed.yml -o config.yml
CSVファイルの内容を読み取り、列情報などが設定されていることがわかります。
in: type: file path_prefix: C:\Users\remix\.\try1\csv\sample_ decoders: - {type: gzip} parser: charset: UTF-8 newline: LF type: csv delimiter: ',' quote: '"' escape: '"' null_string: 'NULL' trim_if_not_quoted: false skip_header_lines: 1 allow_extra_columns: false allow_optional_columns: false columns: - {name: id, type: long} - {name: account, type: long} - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'} - {name: purchase, type: timestamp, format: '%Y%m%d'} - {name: comment, type: string} out: {type: stdout}
configファイルを指定して、ドライランでプレビュー表示をしてみます。
embulk preview config.yml
実際に実行する際は、runで実行します。
embulk run config.yml
コメント