【ETL】Embulkの導入&サンプル実行

  •  
 
H.S. に投稿

タグ

概要

私が以前のプロジェクトで使ったことのある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

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。