我正在使用下面的代码片段来保存数据。它仅在同一分区文件夹下创建一个新的镶木地板文件。有什么方法可以将数据真正追加到现有的镶木地板文件中。因此,如果一天有很多追加,我们最终将不会拥有多个文件?
df.coalesce(1).write.mode('append').partitionBy("paritionKey").parquet('...\parquet_file_folder\')
非常感谢您的帮助。
答案 0 :(得分:2)
从此处查看答案:How can I append to same file in HDFS(spark 2.11)
“在Spark中附加”表示写入现有目录而不是附加到文件。
这是故意的和期望的行为(请考虑,即使格式和文件系统允许,如果过程在“追加”过程中失败,将会发生什么情况。
像合并文件这样的操作应在必要时通过单独的过程应用,以确保正确性和容错能力。不幸的是,这需要完整的副本,出于明显的原因,不希望逐批复制。”