我试图通过下面的命令行参数,但它不工作。有人能帮我解决我在这里做错的事吗!
hive -f test2.hql -hiveconf partition=20170117 -hiveconf -hiveconf datepartition=20170120
62lalag41#
一些替代方案:1) 如果使用配置单元命令行,您只需详细说明整个sql命令并按如下方式执行:
hive -e <command>
并将参数显式为文字。2) 如果使用beeline(优先于hive),只需将其附加到命令行:
--hivevar myparam='myvalue'
x6h2sr282#
在查询文件之前传递参数,
hive --hiveconf partition='20170117' --hiveconf datepartition='20170120' -f test2.hql
并在中的查询中使用它们 test2.hql 这样地,
test2.hql
${hiveconf:partition}
例子:
select * from tablename where partition=${hiveconf:partition} and date=${hiveconf:datepartition}
2条答案
按热度按时间62lalag41#
一些替代方案:
1) 如果使用配置单元命令行,您只需详细说明整个sql命令并按如下方式执行:
并将参数显式为文字。
2) 如果使用beeline(优先于hive),只需将其附加到命令行:
x6h2sr282#
在查询文件之前传递参数,
并在中的查询中使用它们
test2.hql
这样地,例子: