LoginSignup
8
6

More than 5 years have passed since last update.

Embulk (MySQL -> CSVファイル)

Last updated at Posted at 2018-02-26

概要

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

参考サイト

8
6
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
8
6