Skip to content
Last updated

MySQL Import Integration

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

MySQLからデータをインポートするサンプルワークフローについては、Treasure Boxesをご覧ください。

前提条件

  • Treasure Dataの基本知識
  • MySQLの基本知識
  • Treasure Dataから到達可能なMySQLインスタンス

MySQL Community Server 5.6および5.7を使用しており、SSLを使用したい場合は、コネクタの基礎となるライブラリとの互換性の問題を解決するために、パラメータenabledTLSProtocolsとTLSv1.2を設定してください。その他のMySQLバージョンでは、インテグレーションは自動的に最高のTLSバージョンを使用しようとします。

新しい認証を作成する

データ接続を構成する際、インテグレーションにアクセスするための認証を提供します。Treasure Dataでは、認証を構成してからソース情報を指定します。

  1. TD Consoleを開きます。

  2. Integrations Hub > Catalogに移動します。

  3. MySQLを検索して選択します。

  4. Createを選択します。

  5. 次のダイアログが開きます。

  6. 以下のパラメータを設定します。Continueを選択します。

パラメータ説明
Hostリモートデータベースのホスト情報(例: IPアドレス)。
Portリモートインスタンスの接続ポート。MySQLのデフォルトは3306です。
Usernameリモートデータベースに接続するためのユーザー名。
Passwordリモートデータベースに接続するためのパスワード。
SSL ModeSSL modeの詳細をご覧ください
useLegacyDatetimeCodeuseLegacyDatetimeCodeの詳細をご覧ください
OPTIONS
JDBC Connection optionsリモートデータベースで必要な特別なJDBC接続。
Socket connection timeoutソケット接続のタイムアウト(秒単位)(デフォルトは300)。
Network timeoutネットワークソケット操作のタイムアウト(秒単位)。0はタイムアウトなしを意味します。

接続に名前を付ける

  1. 接続の名前を入力します。
  2. Doneを選択します。

MySQLアカウントデータをTreasure Dataに転送する

認証済み接続を作成すると、自動的にAuthenticationsに移動します。

  1. 作成した接続を検索します。
  2. New Sourceを選択します。

Connection

  1. Data TransferフィールドにSourceの名前を入力します。

Source Table

データを取り込むデータベースとテーブルの詳細を入力します。

  1. Nextを選択します。
  2. 以下のパラメータを編集します。
パラメータ説明
Database nameデータを転送するデータベースの名前。(例: your_database_name
Use custom SELECT query?単純なSELECT (columns) FROM table WHERE (condition)以上のものが必要な場合に使用します。
SELECT columns特定のカラムからのみデータを取得したい場合は、ここにリストします。それ以外の場合は、すべてのカラムが転送されます。
Tableデータをインポートするテーブル。
WHERE conditionテーブルから取得するデータに追加の特定性が必要な場合は、WHERE句の一部として指定できます。

Data Settings

  1. Nextを選択します。 Data Settingsページが開きます。

  2. オプションで、データ設定を編集するか、このダイアログページをスキップします。

パラメータ説明
Incrementalこの転送を繰り返し実行する場合、このチェックボックスにより、前回のインポート実行以降のデータのみをインポートできます。
Rows per batch非常に大きなデータセットは、メモリの問題とそれに伴うジョブの失敗につながる可能性があります。このフラグにより、メモリの問題とジョブの失敗の可能性を減らすために、行数ごとにインポートジョブをバッチに分割できます。
Default timezoneインポート時に使用されるタイムゾーン。デフォルトはUTCですが、必要に応じて変更できます。
After SELECTこのSQLは、同じトランザクション内でSELECTクエリの後に実行されます。
Column Optionsインポート前にカラムのタイプを変更する必要がある場合は、このオプションと関連するカラムの詳細を選択します。入力した詳細設定を保存するには、Saveを選択します。

Data Preview

インポートを実行する前に、Generate Preview を選択してデータのプレビューを表示できます。Data preview はオプションであり、選択した場合はダイアログの次のページに安全にスキップできます。

  1. Next を選択します。Data Preview ページが開きます。
  2. データをプレビューする場合は、Generate Preview を選択します。
  3. データを確認します。

Data Placement

データの配置について、データを配置したいターゲット database と table を選択し、インポートを実行する頻度を指定します。

  1. Next を選択します。Storage の下で、インポートされたデータを配置する新しい database を作成するか、既存の database を選択し、新しい table を作成するか、既存の table を選択します。

  2. Database を選択 > Select an existing または Create New Database を選択します。

  3. オプションで、database 名を入力します。

  4. Table を選択 > Select an existing または Create New Table を選択します。

  5. オプションで、table 名を入力します。

  6. データをインポートする方法を選択します。

    • Append (デフォルト) - データインポートの結果は table に追加されます。 table が存在しない場合は作成されます。
    • Always Replace - 既存の table の全体の内容をクエリの結果出力で置き換えます。table が存在しない場合は、新しい table が作成されます。
    • Replace on New Data - 新しいデータがある場合のみ、既存の table の全体の内容をクエリの結果出力で置き換えます。
  7. Timestamp-based Partition Key 列を選択します。 デフォルトキーとは異なるパーティションキーシードを設定したい場合は、long または timestamp 列をパーティショニング時刻として指定できます。デフォルトの時刻列として、add_time フィルターで upload_time を使用します。

  8. データストレージの Timezone を選択します。

  9. Schedule の下で、このクエリを実行するタイミングと頻度を選択できます。

一度だけ実行

  1. Off を選択します。
  2. Scheduling Timezone を選択します。
  3. Create & Run Now を選択します。

定期的に繰り返す

  1. On を選択します。
  2. Schedule を選択します。UI では、@hourly@daily@monthly、またはカスタム cron の 4 つのオプションが提供されます。
  3. Delay Transfer を選択して、実行時間の遅延を追加することもできます。
  4. Scheduling Timezone を選択します。
  5. Create & Run Now を選択します。

転送が実行された後、Data Workbench > Databases で転送の結果を確認できます。