shell脚本调度impala脚本总结

背景:由于公司使用oozie调度工作流但是其不支持impala只能转shell间接调度

首先说下impala的交互方式:

  1. 使用客户端直接进入impala然后进行sql操作,配好环境后impala-shll即可
  2. 使用hue
  3. impala-shell -q ‘select。。。’ -i localhost(地址)
  4. 若sql比较多可以写成文件后缀名无所谓impala-shell -f filename -i localhost即可

用shell脚本来执行impala:

在shell脚本中直接写impala-shell -q ‘select。。。’ -i localhost即可

问题:上述都好解决问题是脚本中需要变量怎么弄?

impala的这些资料明显没有hive的多,找了好久才找到解决方法,特此记录。

举例:

  • 正常切库:use test;
  • hive中使用变量切库:use ${db_name};
  • impala中使用变量切库(注意是脚本中的变量)use ${var:db_name};
    use ${var:db_name};

     

使用方式:${var:var_name}不能直接像hive中引用变量名

 

impala在shell中传参方式:

#!/bin/bash
file=$1
db_name=$2
create_date=$3
impala-shell --var=db_name=${db_name} --var=create_date=${create_date} -f $1 -i test-cdh2

格式比较奇怪:--var=var_name=var_value

在脚本中不要出现${var_name}类似的东西即使注释掉也会报错

 

题外:关于oozie对与shell脚本的调度配置:

在制定shell文件时不光要制定还要添加file,将执行的shell和shell调度的sql文件都添加这样就不会报错文件找不到了

oozie配置截图

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值