Amazon redshift:加载使用BZIP2压缩的Avro文件

时间:2016-05-23 02:21:50

标签: amazon-redshift

我有存储在HDFS和S3中的Avro文件(使用BZIP2压缩),我想将它们加载到Amazon Redshift中。复制命令给出错误:

 error:  Invalid AVRO file
 code:      8001
 context:   Cannot init avro reader from s3 file File header contains an unknown codec 

Redshift不支持压缩的Avro文件吗?

如果是这种情况,那么将此数据加载到Redshift中的下一个最佳选择是什么(不将其转换回Avro文件而不进行压缩)。

我可以使用sqoop吗?

1 个答案:

答案 0 :(得分:0)

Redshift支持压缩的avro文件。

要加载使用gzip,lzop或bzip2压缩的数据文件,请在复制命令中包含相应的选项:GZIP,LZOP或BZIP2。

此外,您需要提及avro格式并提供json路径。下面是我使用的代码,它可以工作。

    copy <tablename> from '<s3 path - abc.avro.gz>'
    credentials 'aws_access_key_id=<access-key>;aws_secret_access_key=<secret access key>'
    format as avro '<json path for avro format>'
    gzip;