我是Hive的新手,我想知道insert overwrite是否会覆盖我创建的现有表。 我想过滤已经创建的表,让我们称之为TableA,只选择年龄大于18的行。我可以使用insert overwrite table实现这个吗?
我想写一些类似的东西:
INSERT OVERWRITE TABLE TableA SELECT a.Age FROM TableA WHERE a.Age > = 18
我创建的表中有NA条目,但我假设在过滤此表后,Age列中没有NA,对吧?
答案 0 :(得分:28)
自我过滤和插入不支持,但仍在蜂巢中。
我会建议您执行以下步骤:
创建一个类似的表,比如tabB,具有相同的结构。
create table tabB like tableA;
2.然后你可以应用你的过滤器并插入这个新表。
INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA WHERE a.Age > = 18
希望这有帮助。