将参数传递给hive查询

时间:2017-01-19 14:16:08

标签: hadoop mapreduce hive

我试图通过下面传递命令行参数,但它不起作用。任何人都可以帮助我解决我在这里做错的事情!

hive -f test2.hql -hiveconf partition=20170117 -hiveconf -hiveconf datepartition=20170120 

2 个答案:

答案 0 :(得分:1)

在查询文件

之前传递参数
hive --hiveconf partition='20170117' --hiveconf datepartition='20170120' -f test2.hql 

并在test2.hql这样的查询中使用它们,

${hiveconf:partition}

示例:

select * from tablename where partition=${hiveconf:partition} and date=${hiveconf:datepartition}

答案 1 :(得分:0)

一些替代方案:

1)如果使用hive命令行,你可以详细说明整个sql命令并执行它:

hive -e <command>

并将参数显示为文字。

2)如果使用beeline(首选hive),只需将其附加到命令行:

--hivevar myparam='myvalue'