【发布时间】:2021-11-11 07:56:45
【问题描述】:
我有以下 SQL 查询:
MERGE INTO member_staging x
USING (SELECT member_id, first_name, last_name, rank FROM members) y
ON (x.member_id = y.member_id)
WHEN MATCHED THEN
UPDATE SET x.first_name = y.first_name,
x.last_name = y.last_name,
x.rank = y.rank
WHERE x.first_name <> y.first_name OR
x.last_name <> y.last_name OR
x.rank <> y.rank
WHEN NOT MATCHED THEN
INSERT(x.member_id, x.first_name, x.last_name, x.rank)
VALUES(y.member_id, y.first_name, y.last_name, y.rank);
我想在 Hive 查询中实现它,在 HIVE 中是否有 MERGE JOIN 的等价物?
【问题讨论】:
-
如果不是 ACID 模式,请看这个答案:stackoverflow.com/a/37744071/2700344
-
@leftjoin 什么是 ACID 模式?
-
@MartinJames - 来吧,第一站应该永远是手册:(cwiki.apache.org/confluence/display/Hive/Hive+Transactions