# Embulk Bulk Import From MySQL

この記事では、embulk-input-mysql入力プラグインを使用してMySQLデータベースからTreasure Dataにデータをインポートする方法について説明します。

## 前提条件

- Treasure Dataの基本知識
- [Embulk](http://www.embulk.org/docs/)の基本知識
- EmbulkはJavaアプリケーションです。Javaがインストールされていることを確認してください。
- [Installing Bulk Data Import](/products/customer-data-platform/integration-hub/batch/import/bulk-data-import#installing-bulk-data-import)の手順に従ってください。
- [Embulkとembulk-output-tdプラグイン](http://www.embulk.org/docs/)がお使いのマシンにインストールされていること


## embulk-input-mysqlプラグインのインストール

embulk-input-mysqlプラグインをインストールするには、次のコマンドを実行します:


```bash
embulk gem install embulk-input-mysql
```

## Seed設定ファイルの作成

お好みのテキストエディタを使用して、入力(MySQL)と出力(TD)のパラメータを定義するEmbulk設定ファイル(例:seed.yml)を作成します。例:


```yaml
in:
  type: mysql
  host: localhost
  port: 3306
  user: username
  password: password
  database: mysql_db
  table: my_table
  select: 'col1, col2, datecolumn'
  where: col4 != 'a'
out:
  type: td
  apikey: xxxxxxxxxxxx
  endpoint: api.treasuredata.com
  database: dbname
  table: tblname
  time_column: datecolumn
  mode: replace
  default_timestamp_format: '%d/%m/%Y'
```

追加のパラメータやその他の例の詳細については、[Embulk Input MySQL](https://github.com/embulk/embulk-input-jdbc/tree/master/embulk-input-mysql)を参照してください。

## フィールドの推測(load.ymlの生成)

Embulkのguessオプションは、`seed.yml`を使用してターゲットファイルを読み取り、カラムタイプ/設定を自動的に推測し、この情報を含む新しいファイル`load.yml`を作成します。


```bash
embulk guess seed.yml -o load.yml
```

`embulk preview load.yml`コマンドを使用してデータをプレビューできます。カラムタイプやデータが正しくないと思われる場合は、`load.yml`ファイルを直接編集して、再度プレビューして確認することができます。`guess`オプションが満足のいく結果をもたらさない場合は、要件に応じて`load.yml`のパラメータを変更できます。

# ロードジョブの実行

次のコマンドを実行してインポートジョブを発行します:


```bash
embulk run load.yml
```

データのサイズによっては、ジョブが完了するまでに数分から数時間かかる場合があります。