2
create table b as
select * from table a;

请为此添加检查条件

  • 如果表 a 有记录,那么应该创建表 b
  • 如果表 a 没有记录,则不应创建表 b
4

1 回答 1

1

您可以有条件地使脚本失败

--this will generate HiveException with message ASSERT_TRUE(): assertion failed
--it the table is empty and the script will exit
select assert_true(count(*)>0) from a;

--If previous statement executed successfully
create table b as
select * from table a;

另一种方法是使用java_method("java.lang.System", "exit", 1)

select "Checking source is not empty ...";
    
select java_method("java.lang.System", "exit", 1) --Exit 
from
(
select count(*) cnt 
 from a
)s where cnt=0; --select only if count=0

select "Creating the table b ...";
--Put create table here
于 2021-04-14T09:58:24.220 回答