如何覆盖蜂巢表的某些记录?
例如:
我有一个表t1有100条记录。现在我必须覆盖这100条记录中的30条。
怎么做?
答案 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;