我在用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"
)
请指导我正确的方法。
答案 0 :(得分:0)
您还需要指定输出格式。
试试这个:
output_rdd.saveAsHadoopFile("s3://<name-of-bucket>/", "org.apache.hadoop.mapred.TextOutputFormat", compressionCodecClass="org.apache.hadoop.io.compress.GzipCodec")
您可以使用任何支持Hadoop的压缩编解码器: