Impala实践之八:脚本中引号问题

前言

写脚本,遇到一个小坑,python和seven帮忙填了一下,突然想起来之前貌似遇到过类似的情况。

版本一

脚本:

sql=$1
coordinator=$2
output_file=$3

echo $sql
echo "------"
echo $output_file
echo "------"
echo $coordinator

impala-shell -i $coordinator -q $sql -o $output_file

执行命令:

bash impala-exec.sh "select distinct dt from table" ip:21000 /tmp/test.txt

结果:

$ bash impala-exec.sh "select distinct dt from tablename" "ip1:21000" "tmp/test.txt"

select distinct dt from tablename
------
tmp/test.txt
------
ip1:21000

Error, could not parse arguments "distinct dt from tablename"
Usage: impala_shell.py [options]

Options:
  -h, --help            show this help message and exit
  -i IMPALAD, --impalad=IMPALAD
                        <host:port> of impalad to connect to
                        [default: hadoop-cluster-8-228:21000]
                ......

可以看到,脚本获取到了,但是impala-shell识别不了。

版本二

仔细想了一下,应该是impala在解析sql语句时候的语法规范问题,修改一下脚本。

改成如下即可。

impala-shell -i $coordinator -q "$sql" -o $output_file

2016-04-11 19:08:00 hzct

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值