我正在尝试查看配置单元中的计算值的值。例如,我试图从该表名获取年份:

set TABLE_NAME = orders2014;
set TABLE_YEAR = substr(${hiveconf:TABLE_NAME},6,4);
set TABLE_YEAR;

我得到的结果是未计算的字符串;

substr($ {hiveconf:TABLE_NAME},6,4)

我想得到的是计算值“2014”。我怎么看这个值?

谢谢

最佳答案

配置单元“变量”实际上仅是文本替换机制。
替换是在解析和执行之前完成的。

hive> set hivevar:v1=se;
hive> set hivevar:v2=l;
hive> set hivevar:v3=ec;
hive> set hivevar:v4=t 1+;
hive> set hivevar:v5=2;
hive> ${hivevar:v1}${hivevar:v2}${hivevar:v3}${hivevar:v4}${hivevar:v5};
OK
3

10-01 08:02