我给出了在 RDBMS 中完美运行的更新语句,但在 HIVE 中不起作用。目前在 HIVE 中,您不能引用多个表(如查询 TABLE TableA,TableB 引用)
UPDATE A
FROM TableA A, TableB B
SET DepartmentId = B.DepartmentId
WHERE A.CustomerId = B.CustomerId ;
我需要你的帮助,我怎样才能在 HIVE 中实现同样的目标? HIVE 中可能的替代方案?
最佳答案
由于 Hive 不支持行级插入和更新,因此几乎没有解决方法。上面提到的答案就是这样一个。 一种方法是做同样的事情,然后再次将覆盖插入到同一个表中。
插入覆盖表A 选择 A.c1,A.c2, ... , B.DepartmentId , .. 从表A A,表B B WHERE A.CustomerId = B.CustomerId ;
这就像更新同一张表。
关于hadoop - HIVE 更新语句中的多个表引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668557/