首页 文章

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

提问于
浏览
1

我有存储在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

    Redshift确实支持压缩的avro文件 .

    要加载使用gzip,lzop或bzip2压缩的数据文件,请在copy命令中包含相应的选项: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;
    

相关问题