【发布时间】:2020-08-24 06:16:30
【问题描述】:
我正在尝试MERGE 使用 spark sql 的两个表,但语句出错。
这些表被创建为指向 Azure ADLS 存储的外部表。该 sql 正在使用 Databricks 执行。
表 1:
Name,Age.Sex
abc,24,M
bca,25,F
表 2:
Name,Age,Sex
abc,25,M
acb,25,F
表 1 是目标表,表 2 是源表。 在表 2 中,我有一个插入记录和一个更新记录,需要与源表 1 合并。
查询:
MERGE INTO table1 using table2 ON (table1.name=table2.name)
WHEN MATCHED AND table1.age <> table2.age AND table1.sex<>table2.sex
THEN UPDATE SET table1.age=table2.age AND table1.sex=table2.sex
WHEN NOT MATCHED
THEN INSERT (name,age,sex) VALUES (table2.name,table2.age,table2.sex)
spark SQL 支持合并还是有其他实现方式?
谢谢 周六
【问题讨论】:
标签: apache-spark apache-spark-sql databricks