Treasure DataにおけるBulk Importの種類について
TreasureDataにデータを入れる方法について
大まかに以下の2種類が存在する。
- Streaming Import
- Bulk import
Streaming Importってなに
fluentdやjs-sdkなどを利用して、リアルタイムで生成されているデータを転送する方法。 1回あたりにインポートされるレコード数も少ない
Bulk Importってなに
DBのテーブルなどの大きなデータをまとめて、転送する方法。
今回の記事では2のBulk Importについて話をする。
Treasure Dataで利用できるBulk Importの種類について
大まかに以下の3つの方法が存在する。
- DataConnector
- Bulk import(Embulk)
- 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について
既に開発停止されているため、基本的には使用しないほうがいい。