使用追加写入模式将新数据写入现有的镶木地板文件

时间:2020-08-13 15:12:41

标签: pyspark

我正在使用下面的代码片段来保存数据。它仅在同一分区文件夹下创建一个新的镶木地板文件。有什么方法可以将数据真正追加到现有的镶木地板文件中。因此,如果一天有很多追加,我们最终将不会拥有多个文件?

df.coalesce(1).write.mode('append').partitionBy("paritionKey").parquet('...\parquet_file_folder\')

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

从此处查看答案:How can I append to same file in HDFS(spark 2.11)

“在Spark中附加”表示写入现有目录而不是附加到文件。

这是故意的和期望的行为(请考虑,即使格式和文件系统允许,如果过程在“追加”过程中失败,将会发生什么情况。

像合并文件这样的操作应在必要时通过单独的过程应用,以确保正确性和容错能力。不幸的是,这需要完整的副本,出于明显的原因,不希望逐批复制。”