【发布时间】:2022-12-19 14:50:24
【问题描述】:
我有一个简单的要求,就是将数据帧从 spark (databricks) 写入突触专用池表,并每天保持刷新(截断)它而不丢弃它。
Documentation 建议将truncate 与overwrite 模式一起使用,但这似乎并没有像我预期的那样工作。当我继续看到表创建日期更新时
我在用
df.write \
.format("com.databricks.spark.sqldw") \
.option("url", synapse_jdbc) \
.option("tempDir", tempDir) \
.option("useAzureMSI", "true") \
.option("dbTable", table_name) \
.mode("overwrite") \
.option("truncate","true") \
.save()
但是我是否使用truncate似乎没有任何区别。每次我从数据块执行上述操作时,突触中表的创建日期/时间都会更新。谁能帮忙解决这个问题,我错过了什么?
我已经有一个可行的解决方法,但看起来更像是一个解决方法
.option("preActions", "truncate table "+table_name) \
.mode("append") \
【问题讨论】:
标签: pyspark databricks truncate azure-synapse overwrite