如何将拆分的 gzip 文件中的数据加载到 redshift 中?

Posted

技术标签:

【中文标题】如何将拆分的 gzip 文件中的数据加载到 redshift 中?【英文标题】:How to load data from splitted gzip files into redshift? 【发布时间】:2015-10-21 17:56:20 【问题描述】:

我可以将拆分后的 gzip 文件中的数据加载到亚马逊红移表中吗?

我可以从单个 gzip 文件或拆分的文本文件中加载数据。

但是我可以从拆分的 gzip 文件中加载数据吗?

【问题讨论】:

您能否澄清一下“拆分的 gzip 文件”是什么意思?您的意思是您有多个单独压缩过的 CSV 文件 (.gz),并且它们都包含您希望加载到单个 Redshift 表中的部分数据? 我有一个巨大的 csv 文件,它被压缩成多个 gzip 文件。当我压缩它时,我们可以定义是否要压缩成多个文件。 【参考方案1】:

我在这里假设您的意思是您有多个 CSV 文件,每个文件都经过 gzip 压缩。

首先,将每个文件上传到相同前缀和分隔符下的 S3 存储桶。

s3://S3_BUCKET/S3_PREFIX/file0.gz s3://S3_BUCKET/S3_PREFIX/file1.gz

然后,执行 Redshift copy 命令:

copy TABLE_NAME from 's3://S3_BUCKET/S3_PREFIX' credentials 'aws_access_key_id=ACCESS_KEY;aws_secret_access_key=SECRET_KEY' csv gzip

指定 S3 存储桶和前缀 包括有权读取 S3 对象的凭据 确保目标表已经存在并且具有与 CSV 兼容的列 指定 csv 和 gzip 选项

Also, it's a good idea to have your file count proportional to the number of nodes in your cluster.

【讨论】:

以上是关于如何将拆分的 gzip 文件中的数据加载到 redshift 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将压缩包加载到猪

复制到运行良好但不加载数据 gzip 文件

BigQuery 最大查询长度字符可以解决

将JSON文件加载到Redshift

多核 gzip 解压缩,将输出文件 (csv) 拆分为 1Gb/文件

前端性能优化之Gzip