0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Treasure DataのデータベースをAmazon S3にバルクエクスポートする

Last updated at Posted at 2020-08-10

エクスポートしたいテーブル名を列挙して行う。

// Groovy Version: 2.5.0 JVM: 1.8.0_181 Vendor: Azul Systems, Inc. OS: Mac OS X
class Config {
    static AWS_ACCESS_KEY_ID     = System.getenv().AWS_ACCESS_KEY_ID
    static AWS_SECRET_ACCESS_KEY = System.getenv().AWS_SECRET_ACCESS_KEY
    static TD_DATABASE           = System.getenv().TD_DATABASE
    static S3_BUCKET             = System.getenv().S3_BUCKET
}

'''\
table_a
table_b
.
.
'''.eachLine {
    println "export $it"
    "td table:export ${Config.TD_DATABASE} $it --s3-bucket ${Config.S3_BUCKET} --prefix $it --aws-key-id ${Config.AWS_ACCESS_KEY_ID} --aws-secret-key ${Config.AWS_SECRET_ACCESS_KEY} --file-format tsv.gz --encryption s3".execute()
}

各テーブル名のs3 keyの下に分割、圧縮されてエクスポートされるので便利。
image.png

テーブルが大きすぎる場合はOutOfMemory Errorが出る場合があるが、Treasure Dataの全レコードに付与されているtime(created_at相当)での範囲指定が出来るので、適宜指定してセルフ分割してエクスポートする。

# 2019年分だけをエクスポート
$ td table:export $TD_DATABASE table_a --s3-bucket $S3_BUCKET --prefix table_a__2019 --aws-key-id $AWS_ACCESS_KEY_ID --aws-secret-key $AWS_SECRET_ACCESS_KEY --file-format tsv.gz --encryption s3 --from 1546268400 --to 1577804400

その他

Treasure DataのConfluenceによると、東京リージョンにもエクスポート出来るように書かれているがエラーになってしまった。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?