この記事では、embulk-input-mysql入力プラグインを使用してMySQLデータベースからTreasure Dataにデータをインポートする方法について説明します。
Treasure Dataの基本知識
Embulkの基本知識
EmbulkはJavaアプリケーションです。Javaがインストールされていることを確認してください。
Installing Bulk Data Importの手順に従ってください。
Embulkとembulk-output-tdプラグインがお使いのマシンにインストールされていること
embulk-input-mysqlプラグインをインストールするには、次のコマンドを実行します:
embulk gem install embulk-input-mysqlお好みのテキストエディタを使用して、入力(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を参照してください。
Embulkのguessオプションは、seed.ymlを使用してターゲットファイルを読み取り、カラムタイプ/設定を自動的に推測し、この情報を含む新しいファイルload.ymlを作成します。
embulk guess seed.yml -o load.ymlembulk preview load.ymlコマンドを使用してデータをプレビューできます。カラムタイプやデータが正しくないと思われる場合は、load.ymlファイルを直接編集して、再度プレビューして確認することができます。guessオプションが満足のいく結果をもたらさない場合は、要件に応じてload.ymlのパラメータを変更できます。
次のコマンドを実行してインポートジョブを発行します:
embulk run load.ymlデータのサイズによっては、ジョブが完了するまでに数分から数時間かかる場合があります。