Hive Insert Overwrite Table

Ann*_*Mai 15 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
Run Code Online (Sandbox Code Playgroud)

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

K S*_*hin 31

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

在你的情况下我会建议以下步骤:

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

    create table tabB like tableA;
    
    Run Code Online (Sandbox Code Playgroud)

然后你可以应用你的过滤器并插入这个新表.

INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA WHERE a.Age > = 18
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.