Treasure DataにおけるBulk Importの種類について

TreasureDataにデータを入れる方法について

大まかに以下の2種類が存在する。

  1. Streaming Import
  2. Bulk import

Streaming Importってなに

fluentdやjs-sdkなどを利用して、リアルタイムで生成されているデータを転送する方法。 1回あたりにインポートされるレコード数も少ない

Bulk Importってなに

DBのテーブルなどの大きなデータをまとめて、転送する方法。

今回の記事では2のBulk Importについて話をする。

Treasure Dataで利用できるBulk Importの種類について

大まかに以下の3つの方法が存在する。

  1. DataConnector
  2. Bulk import(Embulk)
  3. Legacy Bulk Import

それぞれの違いは以下の通り。

比較項目 Data Connector Bulk Import Legacy Bulk Import
概要 Treasure DataがホストするEmbulkサービス Embulk with embulk-output-td td import:xxx コマンド
リソース Data Connector専用のリソースを利用 Hiveのリソース(Hadoopのリソースを利用する) Hiveのリソースを利用する(詳細についてはこのドキュメントを参照推奨Legacy Bulk Import Internals – Arm Treasure Data)
メンテナンス性 Treasure Dataが開発・メンテナンスする オープンソース 開発は停止

使い分けについて

  • S3などの外部からアクセス可能なサービスにCSVファイルやTSVファイルの形式でファイルを置いている場合

この場合は特に自分でリソースを用意する必要がないため、Data Connectorを使った方がいい。

  • OracleなどのDBを利用し、外部サービスにデータをDumpできない場合

この場合はBulk Import(Embulk)を利用した方がいい。 Data Connectorからのアクセスを許可するために外との口を持つ必要があるからだ。

legacy bulk importについて

既に開発停止されているため、基本的には使用しないほうがいい。