Hive Insert Overwrite Table

时间:2014-10-02 19:35:28

标签: sql hive insert overwrite

我是Hive的新手,我想知道insert overwrite是否会覆盖我创建的现有表。 我想过滤已经创建的表,让我们称之为TableA,只选择年龄大于18的行。我可以使用insert overwrite table实现这个吗?

我想写一些类似的东西:

INSERT OVERWRITE TABLE TableA SELECT a.Age FROM TableA WHERE a.Age > = 18

我创建的表中有NA条目,但我假设在过滤此表后,Age列中没有NA,对吧?

1 个答案:

答案 0 :(得分:28)

自我过滤和插入不支持,但仍在蜂巢中。

我会建议您执行以下步骤:

  1. 创建一个类似的表,比如tabB,具有相同的结构。

    create table tabB like tableA;
    
  2. 2.然后你可以应用你的过滤器并插入这个新表。

         INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA WHERE a.Age > = 18
    

    希望这有帮助。