问题描述
我有一个数据集需要定期导入到我的数据湖中,替换当前数据集 在我生成数据帧后,我目前正在做:
df.write.format("delta").save("dbfs:/mnt/defaultDatalake/datasets/datasources")
但是如果我再次运行该作业,则会出现以下错误:
AnalysisException: dbfs:/mnt/defaultDatalake/datasets/insights/datasources already exists.;
虽然我知道我之前可以做一个 dbutils.fs.rm
,但我宁愿只是“替换”那里的数据
有没有办法做到这一点?
解决方法
df.write.format("delta").mode("overwrite").save(....)
如果新数据帧具有不同的架构,那么您可能还需要添加 .option("overwriteSchema","true")
(有关详细信息,请参阅此 blog post)