Skip to content
Last updated

Legacy Bulk Import From Mysql

この記事では、MySQLからTreasure Dataにデータをインポートする方法について説明します。

Legacy Bulk Importのインストール

まず、バルクローダープログラムを含むToolbeltをお使いのコンピューターにインストールします。

ダウンロード

インストール後、tdコマンドがコンピューターにインストールされます。

ターミナルを開き、tdと入力してコマンドを実行します。

Javaもインストールされていることを確認してください。

td import:jar_updateを実行して、最新バージョンのバルクローダーをダウンロードします。

$ td
usage: td [options] COMMAND [args]
$ java
Usage: java [-options] class [args...]
$ td import:jar_update
Installed td-import.jar 0.x.xx into /path/to/.td/java

MySQLからのデータインポート

以下のコマンドを実行して、MySQLからデータをアップロードします。

$ td db:create my_db
$ td table:create my_db my_tbl
$ td import:auto \
  --auto-create my_db.my_tbl \
  --format mysql \
  --db-url jdbc:mysql://my_sql_host/my_sql_db \
  --db-user my_user \
  --db-password my_pass \
  --time-column date_time \
  my_sql_tbl
td import:autoは無効な行をチェックするためにMapReduceジョブを実行するため、少なくとも1〜2分かかります。

この例では、以下を前提としています。

  • バルクインポートは、'--db-'プレフィックスが付いたオプションで指定されたMySQLデータベース上のmy_sql_tblから入力データを読み取ります
  • バルクインポートセッションは、--auto-createオプションを使用して自動的に作成されます。 --auto-createオプションを使用する場合、指定された形式でデータベースとテーブル名を提供する必要があります。セッション名は'my_db.my_tbl'になります。 または、td import:createコマンドを使用して、任意の名前でバルクインポートセッションを作成することもできます(詳細はBulk Import Internals, Import Step-by-Stepを参照)。
  • 時刻フィールドは"date_time"と呼ばれ、--time-columnオプションで指定されます

MySQLデータベースへのアクセスを指定するには、以下のオプションを使用できます。

MySQL固有のオプション:
--db-url URL                     JDBC接続URL
--db-user NAME                   MySQLアカウントのユーザー名
--db-password PASSWORD           MySQLアカウントのパスワード

詳細については、以下のページをご確認ください。