我有一个Spark数据帧,想要将其写入特定的输出目录,同时覆盖现有输出并使用gzip压缩它。我成功获得了gzip或覆盖行为,但不是两者兼而有之。
对于编写gzip压缩数据,这有效:
df.toJSON() \
.saveAsTextFile(output_path, compressionCodecClass='org.apache.hadoop.io.compress.GzipCodec')
为了进行覆盖,这有效:
df.write.mode('overwrite').json(output_path)
查看docs,您似乎可以将选项传递给保存方法,但我尝试过的每个变体都无效。