概要
私が以前のプロジェクトで使ったことのあるETLツール「Embulk」を紹介します。
ETLとはExtract、Transform、Loadの略で、
データを抽出し、抽出したデータを変換/加工した上でDB等へ渡す処理のことです。
例えば、MySQLというDB内にある原価、定価というデータを、
定価だけのデータに加工して、PostgreSQLという別のDBにデータ転送ができます。
このツールは以下のような特徴があります。
- プラグインアーキテクチャ
- 高速な並列・分散処理
- リトライとリジューム
- オープンソース
プラグインアーキテクチャなので、インプット&アウトプット先に幅広く対応できるのがイイですね。
基本的にはプラグインを導入し、各プラグインに応じた設定をEmbulkの設定ファイルで書き込み、Embulkを実行する流れとなります。
導入&サンプル実行
導入は以下のコマンドとなります。
# install java
yum install -y java-1.8.0-openjdk-devel.x86_64
# install embulk
curl --create-dirs -o ~/.embulk/bin/embulk -L "https://dl.embulk.org/embulk-latest.jar"
chmod +x ~/.embulk/bin/embulk
echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
サンプル実行は以下の通りとなります。
# create example
mkdir try1
embulk example ./try1
embulk guess ./try1/seed.yml -o config.yml
# run
embulk preview config.yml
embulk run config.yml
- 閲覧数 106
コメントを追加