我使用hiveconf查询加载动态值,如下所示。
PRD_CODE - >动态值(如A,A或B,A或C,或A或B或C,A或C)
因此我形成了如下语法:
案例A或B或C:
(PRD_CODE = 'A' OR PRD_CODE = 'B' OR PRD_CODE = 'C')
,在我的java代码中将其作为hiveconf传递,如下所示。
hive -hivconf prd_codes=(PRD_CODE = 'A' OR PRD_CODE = 'B' OR PRD_CODE = 'C') --hiveconf db_name=mytestdb -f myqueries.hql;
但是,这似乎给出了错误的结果。 --hiveconf可以处理空间值吗?如果没有,如何处理?
答案 0 :(得分:0)
在你的查询中写
...
where PRD_CODE IN ${hiveconf:prd_codes)
...
然后从hive CLI
hive --hiveconf "prd_codes=('A', 'B', 'C')" --hiveconf db_name=mytestdb -f myqueries.hql