PySpark向HDFS同一路径写入多分区Avro文件失败求助
解决PySpark Avro分区追加写入问题
要实现追加新分区的需求,只需在写入代码中添加mode("append")配置,修改后的代码如下:
df2.select("partition","name","id").write.partitionBy("partition").format("avro").mode("append").save("/my/path/")
原理说明
- PySpark DataFrame写入的默认模式为
ErrorIfExists,当目标路径已存在时会直接抛出"path already exist"错误。 - 配置
mode("append")后,Spark会自动识别新的分区值,将数据写入对应的partition=xxx子目录,不会覆盖已存在的分区数据。 - 若需避免重复写入同一分区(如重复提交相同分区的DataFrame),可改用
mode("ignore")模式,该模式会跳过已存在的分区,既不覆盖数据也不报错。
内容的提问来源于stack exchange,提问作者user3735871
相关产品推荐
相关产品推荐

