Skip to content
Last updated

Embulk Bulk Import From MySQL

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

前提条件

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

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

embulk gem install embulk-input-mysql

Seed設定ファイルの作成

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

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を参照してください。

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

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

embulk guess seed.yml -o load.yml

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

ロードジョブの実行

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

embulk run load.yml

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