ablog

不器用で落着きのない技術者のメモ

Redshift の UNLOAD で1ファイルにまとめて出力する

UNLOAD コマンドで PARALLEL OFF オプションをつけると1ファイルにまとめて出力することができる。

unload ('select * from stl_query')
to 's3://redshift-unload/stl_query_' 
iam_role 'arn:aws:iam::123456789012:role/redshift-spectrum-s3-fullaccess'
header
format csv
gzip
parallel off
allowoverwrite;

参考

PARALLEL
デフォルトでは、UNLOAD は、クラスター内のスライスの数に応じて、データを複数のファイルに同時に書き込みます。デフォルトのオプションは ON または TRUE です。PARALLEL が OFF または FALSE の場合、UNLOAD は、ORDER BY 句が使用される場合はそれに従って絶対的にソートされた 1 つ以上のデータファイルに逐次書き込みます。データファイルの最大サイズは 6.2 GB です。したがって、たとえば、13.4 GB のデータをアンロードする場合、UNLOAD は以下の 3 つのファイルを作成します。

UNLOAD - Amazon Redshift

dev.classmethod.jp