【问题标题】:Writing Spark RDD as Gzipped file in Amazon s3在 Amazon s3 中将 Spark RDD 编写为 Gzipped 文件
【发布时间】:2016-02-08 08:06:46
【问题描述】:

我在用 python 编写的 spark 代码中有一个输出 RDD。我想将它作为 gzip 文件保存在 Amazon S3 中。我尝试了以下功能。 下面的函数正确地将输出 rdd 保存在 s3 中,但不是 gzip 格式。

output_rdd.saveAsTextFile("s3://<name-of-bucket>/")

以下函数返回错误:: TypeError: saveAsHadoopFile() 至少需要 3 个参数(给定 3 个)

output_rdd.saveAsHadoopFile("s3://<name-of-bucket>/", 
                        compressionCodecClass="org.apache.hadoop.io.compress.GzipCodec"
                       )

请用正确的方法指导我。

【问题讨论】:

    标签: amazon-s3 apache-spark pyspark


    【解决方案1】:

    您还需要指定输出格式。

    试试这个:

    output_rdd.saveAsHadoopFile("s3://<name-of-bucket>/", "org.apache.hadoop.mapred.TextOutputFormat", compressionCodecClass="org.apache.hadoop.io.compress.GzipCodec")
    

    您可以使用任何 Hadoop 支持的压缩编解码器:

    • 压缩包: org.apache.hadoop.io.compress.GzipCodec
    • bzip2: org.apache.hadoop.io.compress.BZip2Codec
    • LZO: com.hadoop.compression.lzo.LzopCodec

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2015-09-19
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多