bash脚本中的sql查询

uelo1irk  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(344)

我正在使用hadoop执行我的查询。
我想要的是在查询中使用bash变量。举个例子:

export month="date +%m"
export year="date +%Y"

beeline -u jdbc:hive2://clustername.azurehdinsight.net:443/tab' 
-n myname -e "select * from mytable where month = '$month' and  
year = '$year';"

但是查询是空的,所以实际上,在hive中不是这样的。

select * from mytable where month = '$month' and  
year = '$year';

不是配置单元中的空查询。
我的bash脚本有问题吗?

oxf4rvwz

oxf4rvwz1#

你需要执行 date 命令使用 $() ,更改

export month="date +%m"
export year="date +%Y"

export month=$(date +%m)
export year=$(date +%Y)

你可以用 hivevar 带直线的参数

beeline -u jdbc:hive2://clustername.azurehdinsight.net:443/tab \
-n myname \
--hivevar month=$month \
--hivevar year=$year \
-e "select * from mytable where month = '${hivevar:month}' and year = '${hivevar:year}';"

相关问题