我是 pyspark 的新手,正在寻找动态覆盖增量分区的方法。从网上可用的其他资源我可以看到 Spark 通过将下面的conf设置为“动态”来支持动态分区
spark.conf.set("spark.sql.sources.partitionOverwriteMode", "dynamic")
但是,当我尝试使用数据帧覆盖partitioned_table时,pyspark(databricks)中的以下代码行会覆盖整个表,而不是增量文件上的单个分区。
data.write.insertInto("partitioned_table", overwrite = True)
我确实遇到过使用 Hive 外部表的选项,但在我的情况下这并不简单,因为partitioned_table是基于Delta文件的。
请让我知道我在这里缺少什么。提前致谢!
最佳答案
查看此问题以及有关增量表动态覆盖的详细信息:https://github.com/delta-io/delta/issues/348
您可以使用replaceWhere
关于apache-spark - 如何使用 PySpark 对 Delta 文件的分区动态执行插入覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62258387/