如何使用 Pyspark 在 Databricks 中合并 Hive table 中的记录?
How to Merge records in Hive table in Databricks using Pyspark?
%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 仅支持增量(增量湖)表的更新。
错误消息 Error in SQL statement: AnalysisException: MERGE destination only supports Delta sources
表示您尝试在 non-delta-table 上进行更新。
%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 仅支持增量(增量湖)表的更新。
错误消息 Error in SQL statement: AnalysisException: MERGE destination only supports Delta sources
表示您尝试在 non-delta-table 上进行更新。