更新配置单元表中的记录

时间:2017-03-21 09:39:06

标签: hive hiveql overwrite

如何覆盖蜂巢表的某些记录?
例如:
我有一个表t1有100条记录。现在我必须覆盖这100条记录中的30条。

怎么做?

2 个答案:

答案 0 :(得分:0)

Hive支持Hive-0.14的ACID属性。使用Hive事务,您可以更新或删除现有记录。

执行更新和删除操作几乎没有遵循的规则。您可以在Hive事务中引用to this blog以获取更多详细信息和实现。

答案 1 :(得分:0)

我的声誉太低,无法直接回答您的评论,但这是实现目标的一种方式:

INSERT OVERWRITE TABLE table_a
SELECT * FROM table_a a WHERE a.id NOT IN (SELECT id FROM table_b) 
UNION ALL
SELECT * FROM table_b;