Hive IF THEN ELSE用于根据条件执行不同的Hive查询

问题描述

我想做下面的事情,

IF table1 is not exists THEN

create table1 ();

ELSE 

insert overwrite table1
select ....

END

这在蜂巢ql中可以实现吗?

这主要用于增量负载,由于记录数达数十亿,因此合并也无法工作。

解决方法

不直接使用单个SQL,可以使用解决方法。您可以使用2个步骤。

  • 使用CREATE TABLE IF NOT EXISTS创建表。
  • 然后运行insert overwrite table1 select .....

如果步骤1不存在,则步骤1将创建表,而步骤2将加载数据