我有一个数据集,我需要定期导入到我的datalake中,在我生成一个Dataframe之后替换当前的数据集,我现在做的是:
df.write.format("delta").save("dbfs:/mnt/defaultDatalake/datasets/datasources")
但如果我再次运行作业,会出现以下错误:
AnalysisException: dbfs:/mnt/defaultDatalake/datasets/insights/datasources already exists.;
虽然我知道我可以 dbutils.fs.rm
以前,我宁愿只是“替换”数据有没有办法做到这一点?
1条答案
按热度按时间bpzcxfmw1#
使用覆盖模式:
如果新的Dataframe有不同的模式,那么您可能需要添加
.option("overwriteSchema", "true")
同时(更多信息请参见此博客文章)