快速压缩文件的 Redshift 加载

Posted

技术标签:

【中文标题】快速压缩文件的 Redshift 加载【英文标题】:Redshift load for snappy compressed file 【发布时间】:2016-05-05 22:52:37 【问题描述】:

如何将 snappy 压缩文件从 s3 位置加载到 redshift 表?如何将 snappy 压缩文件或 ORC 格式转换为制表符分隔的 .csv 文件?

【问题讨论】:

请查看URL,这将有助于提高您的内容质量 【参考方案1】:

Amazon Redshift 无法原生导入 snappyORC 文件。

COPY command 的 Amazon Redshift 文档列出了以下支持的文件格式:

CSV 分隔符 固定宽度 AVRO JSON BZIP2 GZIP LZOP

在将文件格式导入 Redshift 之前,您需要在外部转换文件格式(例如使用 Amazon EMR)。

【讨论】:

谢谢约翰!!是否有任何通用解决方案可以将压缩文件(快速压缩或 ORC)转换为 Redshift 可加载格式。 ORC 和 Snappy 几乎专门用于 Hadoop 环境。如果您当前未使用 Hadoop,则可以启动 Amazon EMR 环境并使用 Hive 转换格式。例如:How to convert .txt / .csv file to ORC format。我查看了CloudConvert,但它不支持 Snappy 也不支持 ORC。如果您收到 Snappy/ORC 文件,它们可能是由 Hadoop 生成的,因此源系统可以为您转换。 谢谢约翰。我正在使用命令 hadoop fs -text 来转换 snappy 压缩文件。但这似乎只适用于 snappy 而不是 ORC。

以上是关于快速压缩文件的 Redshift 加载的主要内容,如果未能解决你的问题,请参考以下文章

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

AWS Spectrum 扫描错误压缩文件意外结束

视频压缩软件怎么将文件变小?教你快速压缩的方法

Redshift COPY 自动压缩

gzip压缩实践

Redshift中DISTSTYLE与压缩编码的关系