概要
Embulkを使う機会があったので、使い方について忘れないようメモしておく。
ヘルプを見る
ターミナル
$ embulk --help
インストール済みプラグインを確認する
ターミナル
$ embulk gem list
プラグインをインストールする
※ ~/.embulkフォルダにインストールされる
※ ただし、後で出てくるbundleプラグインを使って個別にGemfileで管理した方が良さそう
ターミナル
## 例)「embulk-output-command」追加
$ embulk gem install embulk-output-command
bundleプラグインを使ってプラグインを管理する
ターミナル
## プラグインの独立したバンドルを作成する
$ embulk mkbundle bundle
## gemファイル修正
$ vi bundle/Gemfile
gem 'embulk-output-command' # 追記
## プラグイン追加
$ cd bundle
$ embulk bundle install --path=vendor/bundle
## プラグインのインストール状況確認
$ embulk bundle list
## プラグインの更新
$ embulk bundle update
$ cd ../
## config.yml作成
$ embulk guess -b ./bundle seed.yml -o config.yml
## プレビュー
$ embulk preview -b ./bundle config.yml
## 実行
$ embulk run -b ./bundle config.yml
サンプル (gzip -> 解凍:csv -> 標準出力へ)
「sample_01.csv.gz」ファイルからcsvを取得し、標準出力へ表示するサンプルをやってみる
サンプル (csv -> gzip圧縮してファイル出力へ)
「sample_01.csv」ファイルからcsvを取得し、gzip圧縮してへファイル出力するサンプルをやってみる
サンプル(gzip -> 解凍:csv -> TreasureData)
「sample_01.csv.gz」ファイルからcsvを取得し、TreasureDataへ送信するサンプルをやってみる
サンプル(MySQL -> CSVファイル)
MySQLの「users」テーブルからデータを取得して、csvファイルに出力するサンプルをやってみる。
環境変数の取り扱い(Liquid版)
DB接続情報などの設定情報をまとめて管理できない試す。
環境変数の取り扱い(環境変数版)
DB接続情報などの設定情報をまとめて管理できない試す。
環境変数の取り扱い(.env版)
DB接続情報などの設定情報をまとめて管理できない試す。
環境変数としてセットします。
.env
MYSQL_HOST=127.0.0.1
MYSQL_USER=hoge
MYSQL_PASSWORD=test
ターミナル
$ export $(cat .env | grep -v ^# | xargs); embulk run hoge.yml.liquid
~/.bash_profileなどに以下のように記述する。
.bash_profile
export MYSQL_HOST=localhost
export MYSQL_USER=sample_user
export MYSQL_PASSWORD=Sample_password123
export ELS_HOST=localhost
ターミナル
$ source ~/.bash_profile; embulk run hoge.yml.liquid