从代码构建到 aws 代码工件的诗歌发布失败并出现 UploadError

问题描述

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

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

但是如果我再次运行该作业,则会出现以下错误

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

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

解决方法

使用overwrite mode

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

如果新数据帧具有不同的架构,那么您可能还需要添加 .option("overwriteSchema","true")(有关详细信息,请参阅此 blog post

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...