我正在尝试使用一些特定的选项值将DataFrame写入S3,以格式化我的输出。我正在使用GZIP编解码器选项来确保文件以zip格式存储,但似乎无法正常工作。
这是我当前拥有的输出代码:
df.coalesce(1).write.format("com.databricks.spark.csv").option("escape", "\t").option("quote", "\u0000").option("delimiter", "\t").option("codec", "org.apache.hadoop.io.compress.GzipCodec").save("s3://myS3Path")
这会输出一个名为part-00000-xxxxx.csv.gz的文件,但是如果我检查S3对象元数据,它将 Content-Type 列为 binary / octet-流。我想输出此DataFrame,以使此元数据字段变为 application / x-gzip ,据我所知,它代表压缩的对象。
如果还有一种方法也可以不进行coalesce()
调用,我希望这样做,但我的首要任务是让它作为 application / x-gzip 工作。有任何线索吗?