BASH脚本中的SQL查询

时间:2018-08-31 13:16:14

标签: sql bash variables hive

我正在使用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';

在Hive中不是空查询。

我的bash脚本有问题吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

您可以将hivevar自变量与beeline一起使用

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}';"