如何将包含空格的变量传递给hive?

时间:2018-05-09 12:45:40

标签: shell unix hadoop hive hiveql

我正在尝试通过shell脚本(如

)的变量向我的hive脚本发送一个完整的select语句
QUERY="select * from abc;"
hive -f hive_script.hql -hivevar QUERY=${QUERY}

我的hive脚本如下:

CREATE table AS ${QUERY}

然而,这给了我一个错误。我检查了配置单元日志,查询结果为

 CREATE table AS select 

,即忽略了* from abc;部分 如何将带有空格的变量传递给我的hive脚本?

1 个答案:

答案 0 :(得分:0)

这有一个非常好的解释

https://unix.stackexchange.com/questions/131766/why-does-my-shell-script-choke-on-whitespace-or-other-special-characters

基本上你需要在你的变量之间加上双引号来保存多个值

QUERY="select * from abc;"
hive -f hive_script.hql -hivevar QUERY="${QUERY}"