Treasure Data の Bulk Export 機能を使用すると、データを Amazon S3 バケットにダンプできます。
TD Toolbelt を含む Treasure Data の基本的な知識。
Amazon AWS アカウントと Amazon S3 バケット。
この機能には、オブジェクト操作のための Amazon S3 パーミッションが必要です
s3:PutObject
s3:GetBucketLocation
1 つのリージョンのデータを別のリージョンにエクスポートすることはできません。
Bulk Export コマンドは、エクスポートされたデータのパーティション化をサポートしなくなりました。これは、要件を満たすには遅すぎたエクスポートの速度を最適化するためです。パーティション化が必要な場合は、このコマンドを使用して一度に 1 時間のセグメントをエクスポートすることをお勧めします – プロセスをスクリプトで自動化します。
float 型の列のエクスポートはサポートされていません。スキーマに float 型の列を含むテーブルエクスポートジョブを実行しようとすると、次のエラーメッセージが表示される場合があります:
invalid schema: unexpected type: float. 回避策として、テーブルのスキーマを手動で double に変更してください。Policy-based Permission 機能を使用する場合、Bulk Export 機能はデフォルトで無効になっています。これは、Bulk Export 機能がポリシーベースの権限で設定された制限をサポートしていないためです。この制限を受け入れて PBP 機能を有効にしたい場合は、サポートにお問い合わせください。
Bulk Export 機能は、以下のリージョンに制限されています:
| 利用ユーザー | コード | リージョン名 |
|---|---|---|
| US Region | us-east-1 | US East (N. Virginia) S3 bucket |
| Tokyo Region | ap-northeast-1 | Asia Pacific (Tokyo) S3 bucket |
| Europe Region | eu-central-1 | EU (Frankfurt) S3 bucket |
| Korea | ap-northeast-2 | Asia Pacific (Seoul) S3 bucket |
jsonl.gz または tsv.gz フォーマットの使用を強くお勧めします。これは、特定のパフォーマンス最適化のためです。
ダンプは MapReduce ジョブを通じて実行されます。バケットの場所は、AWS パブリックおよびプライベートアクセスキーが埋め込まれた S3 パスとして表現されます。
td table:export コマンドは、Treasure Data にアップロードされたすべてのデータを Amazon S3 バケットにダンプします。
TD Toolbelt がインストールされているマシンから、コマンドラインターミナルを開きます。
オプションで、次の構文を使用して、td table:export コマンドの最新の使用情報を検証します。
td table:export -help- Bulk Export コマンドを使用して Bulk Export を開始します。データをダンプするデータベースとテーブルを指定します。
td table:export <db> <table>- オプションで、使用したいオプションの値を入力します。たとえば、オプションは次のとおりです:
| オプション | 説明 |
|---|---|
| -w, --wait | ジョブが完了するまで待機 |
| -f, --from TIME | TIME と同じかそれより新しいデータをエクスポート |
| -t, --to TIME | TIME より古いデータをエクスポート |
| -b, --s3-bucket NAME | 宛先 S3 バケットの名前 (必須) |
| -p, --prefix PATH | S3 上のファイルのパスプレフィックス |
| -k, --aws-key-id KEY_ID | データをエクスポートするための AWS アクセスキー ID (必須) |
| -s, --aws-secret-key SECRET_KEY | データをエクスポートするための AWS シークレットアクセスキー (必須) |
| -F, --file-format FILE_FORMAT | エクスポートされたデータのファイルフォーマット。利用可能なフォーマットは、tsv.gz (1 行あたりタブ区切り値) および jsonl.gz (1 行あたり JSON レコード) です。json.gz および line-json.gz フォーマットはデフォルトで、後方互換性のためにまだ利用可能ですが、パフォーマンスが低いため、このオプションの使用は推奨されません。 |
| -O, --pool-name NAME | 名前でリソースプールを指定 |
| -e, --encryption ENCRYPT_METHOD | ENCRYPT_METHOD でサーバーサイド暗号化を使用してエクスポート |
| -a --assume-role ASSUME_ROLE_ARN | ロール arn として ASSUME_ROLE_ARN で assume role を使用してエクスポート |
Amazon Resource Names (ARN) は、AWS リソースを一意に識別します。
シンプルな Bulk Export 構文は次のようになります:
td table:export example_db table1 \
--s3-bucket mybucket \
-k KEY_ID \
-s SECRET_KEY一般的な Bulk Export 構文には、次のオプションが含まれます:
td table:export <database_name> <table_name> \
--s3-bucket <S3_BUCKET_NAME> \
--prefix <S3_FILE_PREFIX> \
--aws-key-id <AWS_KEY> \
--aws-secret-key <AWS_SECRET_KEY> \
--file-format jsonl.gz関連項目: