我试图通过下面传递命令行参数,但它不起作用。任何人都可以帮助我解决我在这里做错的事情!
hive -f test2.hql -hiveconf partition=20170117 -hiveconf -hiveconf datepartition=20170120
答案 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'