在我的hive查询中,我设置了一些变量。
但是我意识到hive记住了表达而不是值,例如:
set a=1 ;
set b=2 ;
set c= ${hiveconf:a} + ${hiveconf:b} ;
set c ;
-- the command above returns
-- c=1 + 2
为什么Hive不评估价值?有没有办法设置蜂巢这样的
set c ;
会在我之前的示例中返回c= 3
吗?
答案 0 :(得分:2)
通常,您只需在CLI中定义变量。评估将在map reduce run期间进行,例如。
SELECT ${hiveconf:c} FROM yourTable LIMIT 1;
将为您提供c的计算值。