如何使用Pyspark合并Databricks的Hive表中的记录?

问题描述

%sql
MERGE INTO Employee as t
USING updates as s
ON s.Position = t.Position
WHEN MATCHED THEN
  UPDATE SET 
  name=s.name,age=s.age,salary=s.salary,IsDelta=s.IsDelta,Modified=s.Modified,Created=s.Created
  address = updates.address
WHEN NOT MATCHED
  THEN INSERT (Position,name,age,salary,IsDelta,Modified,Created) VALUES (s.Position,s.name,s.age,s.salary,s.IsDelta,s.Modified,s.Created)

对于上面的代码,我得到了错误
sql语句中的错误:AnalysisException:MERGE目标仅支持Delta源。

解决方法

不幸的是,Databricks仅支持对delta(delta lake)表的更新。

错误消息Error in SQL statement: AnalysisException: MERGE destination only supports Delta sources表示您尝试在非增量表上进行更新。