概要
Embulkを使う機会があったので、使い方について忘れないようメモしておく。
MySQLの「users」テーブルからデータを取得して、csvファイルに出力するサンプルをやってみる。
サンプルを用意する
ターミナル
$ mkdir ./try4 && cd ./try4
プラグインを追加する
MySQLからデータを取得するので「embulk-input-mysql」を追加する。
ターミナル
## プラグインの独立したバンドルを作成する
$ embulk mkbundle bundle
## gemファイルにプラグインを追記する
$ vi bundle/Gemfile
gem 'embulk-input-mysql' # 追記
## プラグイン追加
$ cd bundle
$ embulk bundle
$ cd ..
config.yml作成
ターミナル
$ vi config.yml
config.yml
in:
type: mysql
host: 127.0.0.1
user: hoge
password: "development"
database: hoge_db
query: |
SELECT
id,
CAST(id AS CHAR) AS mid,
name,
UNIX_TIMESTAMP(created_at) AS created_at
FROM
users
;
out:
type: file
path_prefix: "./file/users"
sequence_format: "."
file_ext: csv
formatter:
type: csv
delimiter: ","
newline: CRLF
newline_in_field: LF
charset: UTF-8
quote_policy: MINIMAL
quote: '"'
escape: "\\"
null_string: "\\N"
default_timezone: 'Asia/Tokyo'
プレビュー
ターミナル
$ embulk preview -b bundle config.yml
実行
ターミナル
$ embulk run -b bundle config.yml