MySQL
Embulk

Embulk (MySQL -> CSVファイル)

More than 1 year has passed since last update.


概要

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



参考サイト