Pyspark 三角洲湖合并不';t更新模式(启用自动模式演化)

Pyspark 三角洲湖合并不';t更新模式(启用自动模式演化),pyspark,databricks,delta-lake,Pyspark,Databricks,Delta Lake,我在执行以下代码行时出错: deltaTarget.alias('target').merge(df.alias('source'), mergeStatement).whenMatchedUpdateAll().whenNotMatchedInsertAll().execute() 错误如下: AnalysisException:给定列{目标列列表},无法解析UPDATE子句中的新_列。“new_column”确实不在目标增量表的架构中,但根据,这应该只是更新增量表的现有架构并添加列 我还使

我在执行以下代码行时出错:

deltaTarget.alias('target').merge(df.alias('source'), mergeStatement).whenMatchedUpdateAll().whenNotMatchedInsertAll().execute()
错误如下:

AnalysisException:给定列{目标列列表},无法解析UPDATE子句中的新_列。“new_column”确实不在目标增量表的架构中,但根据,这应该只是更新增量表的现有架构并添加列

我还使用以下命令启用自动合并:

spark.conf.set("spark.databricks.delta.schema.autoMerge.enabled ","true")
我不确定到底是什么导致了这个错误,因为在过去,我能够用这些精确的代码片段自动地发展增量表的模式


有什么是我忽略的吗?

如果我没有弄错,您需要在合并操作上使用insertAll或updateAll选项

如果我没有弄错,您需要在合并操作上使用insertAll或updateAll选项

,但op指定他使用updateAll/insertAll(以whenMatchedInsertAll ETC的格式,但op指定他使用updateAll/insertAll(以whenMatchedInsertAll ETC的格式,您可以共享您使用的databricks运行时吗?在我的情况下,这变成了一个错误的错误消息,隐藏了真正的问题。(是的,显示错误的错误消息是一个错误)-我试图在合并到命令中加入的两个字段之间的类型不匹配。您可以共享您使用的databricks运行时吗?在我的情况下,这变成了一条错误的错误消息,隐藏了真正的问题。(是的,显示错误的错误消息是错误的)-这是我在merge-into命令中尝试加入的两个字段之间的类型不匹配