使用Snappy压缩的Parquet格式Redshift COPY命令

5

我的HDFS数据集使用parquet格式并采用snappy压缩编解码。根据我的研究,当前Redshift仅接受纯文本、json和avro格式,并支持gzip和lzo压缩编解码。

作为替代方案,我正在使用Pig脚本将parquet格式转换为纯文本,并更改snappy编解码为gzip。

是否有直接从parquet文件加载数据到Redshift的方法?


你在帖子中有什么问题想要问吗? - rahulbmv
抱歉,是的。我正在寻找在不转换格式的情况下将Parquet格式文件处理到Redshift的解决方案。 - cloudninja
你可以使用Scala和Spark来进行编程。参见此问题 - ratchet
1个回答

14
目前没有直接将Parquet格式数据加载到Redshift的方法。
编辑:从2017年4月19日开始,您可以使用Redshift Spectrum直接查询存储在S3上的Parquet数据。因此,您现在可以通过INSERT INTO x SELECT * FROM parquet_data从Parquet中“加载”。 http://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html 编辑2:从2018年5月17日开始(适用于版本为1.0.2294或更高版本的集群),您可以直接将Parquet和ORC文件加载到Redshift中。https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html

我们能否将Redshift中的数据文件以Parquet格式转移到S3中? - Teja
目前还不行。使用Glue“爬虫”来为您转换。尽管如此,Spectrum在CSV方面的性能仍然非常好。在UNLOAD中使用MAXFILESIZE 128MB。 - Joe Harris
如何将已经存储在S3上的CSV文件转换为Parquet格式?有没有什么方法可以做到这一点? - Teja
请查看此处的Glue FAQ:https://github.com/awslabs/aws-glue-samples/blob/master/FAQ_and_How_to.md 或者文档中的示例:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-samples-legislators.html - Joe Harris
这里的Redshift文档展示了一个复制parquet文件的例子,然而我也记得Redshift不支持Parquet格式的数据。 - Lim
这是在您发表评论的当天发布的新功能。 :) - Joe Harris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接