使用HUE执行多条SQL

HUE是由Cloudera贡献到apache社区的一款hadoop ui工具,可以实现对hadoop的管理,连接查询系统,例如Hive,Impala等,使用起来非常方便。但是,当我们使用HUE提交SQL的时候,默认是只会执行最后一条SQL的。因此,当我们执行如下的SQL的时候,就会报错:

会提示表不存在(图中的错误是Impala查询系统抛出的日志),因为HUE默认只会执行最后一条SQL。那么,如果我们要执行多条SQL怎么办呢?很简单,只要选中对话框中的所有SQL,然后点击运行就可以顺序执行所有的SQL,如下所示:

我们可以看到,3条SQL都被成功执行了,在“运行”按钮的上方可以看到显示的是3/3,表示执行进度。但是,如果SQL结尾处没有显示地增加分号结尾,那么即使全选之后再执行,HUE也会将三个SQL当成一条SQL来执行,而不是按照换行符进行分割,如下所示:

从图中我们可以看到,最终提交的SQL为:create table student(id int, name string) insert into student values(1001,'Xiaoming') select * from student,因此当我们要批量执行多条SQL的时候,一定要在每条SQL的结尾处加上分号。

值得注意的是,这些批量执行的SQL,都是在同一个session内完成的。也就是说,如果在第一条SQL中设置了session级别的参数,会影响后面执行的SQL。例如,在impala中,我们就可以通过该方法来设置SQL的提交队列:

这里,HUE并没有自动地顺序执行完所有的SQL,而是在第一条执行完成后就停止了。这时候需要我们再次点击运行按钮,才会继续执行下去。参考上面两图中的1/2和2/2就可以看出来。但是设置确实已经生效了,也就是说select 1这条SQL是在impala队列上完成的,这个需要去Impala的管理页面查看,这里就不再赘述了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值