AWS Redshift - 在卸载到 s3 时设置零件大小
Posted
技术标签:
【中文标题】AWS Redshift - 在卸载到 s3 时设置零件大小【英文标题】:AWS Redshift - Set part size while unloading to s3 【发布时间】:2014-07-24 07:55:32 【问题描述】:在将大型结果集卸载到 s3 时,redshift 会自动将文件拆分为多个部分。有没有办法在卸载时设置每个部分的大小?
【问题讨论】:
截至今天,没有。它设置为 6.2Gb,无法更改。您可以使用限制来仅选择部分数据。 【参考方案1】:卸载时,可以使用maxfilesize来表示文件的最大大小。 例如:
unload ('select * from venue')
to 's3://mybucket/unload/'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
maxfilesize 1 gb;
From here
【讨论】:
【参考方案2】:默认情况下,Redshift 会根据集群中的切片数量将数据卸载到多个文件中。因此,如果集群中有 4 个切片,则每个集群将同时写入 4 个文件。
以下是文档中对您的问题的简短回答。详情请转至here。
"默认情况下,UNLOAD根据集群中的分片数将数据并行写入多个文件。默认选项为ON或TRUE。如果PARALLEL为OFF或FALSE,则UNLOAD串行写入一个或多个数据文件,如果使用一个,则绝对根据 ORDER BY 子句排序。数据文件的最大大小为 6.2 GB。因此,例如,如果您卸载 13.4 GB 的数据,UNLOAD 会创建以下三个文件。"
我希望这会有所帮助。
【讨论】:
以上是关于AWS Redshift - 在卸载到 s3 时设置零件大小的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Redshift 和 S3 之间的 AWS 文件大小不同?