在我的配置单元查询中,我设置了一些变量。但是我意识到hive记住的是表达式而不是值,例如:
set a=1 ; set b=2 ; set c= ${hiveconf:a} + ${hiveconf:b} ; set c ; -- the command above returns -- c=1 + 2
为什么hive不评估价值?有没有办法把Hive设置成 set c ; 会回来的 c= 3 在我前面的例子中?
set c ;
c= 3
sf6xfgos1#
通常,您只在cli中定义变量。评估将在map reduce运行期间进行,例如。
SELECT ${hiveconf:c} FROM yourTable LIMIT 1;
会给你c的计算值。
1条答案
按热度按时间sf6xfgos1#
通常,您只在cli中定义变量。评估将在map reduce运行期间进行,例如。
会给你c的计算值。