LoginSignup
15
20

More than 5 years have passed since last update.

Embulkの使い方メモ

Last updated at Posted at 2017-09-10

概要

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

参考サイト

15
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
20