1

我有一个数据集需要定期导入到我的数据湖中,替换当前数据集在我生成数据框后,我目前正在执行:

df.write.format("delta").save("dbfs:/mnt/defaultDatalake/datasets/datasources")

但是,如果我再次运行该作业,我会收到以下错误:

AnalysisException: dbfs:/mnt/defaultDatalake/datasets/insights/datasources already exists.;

虽然我知道我以前可以做dbutils.fs.rm,但我宁愿只是“替换”那里的数据有没有办法实现这一点?

4

1 回答 1

1

使用覆盖模式

df.write.format("delta").mode("overwrite").save(....)

如果新数据框具有不同的架构,那么您可能还需要添加(有关更多信息,.option("overwriteSchema", "true")请参阅此博客文章)

于 2021-04-09T15:39:15.337 回答