我有一个像 "This is a param"
,我将把它传递给下面的hiveql:
hive -hivevar sys_nm="This is a param" -e 'select * from rd_sys where rd_sys_nm=${hivevar:sys_nm}'
但配置单元返回以下错误消息:
使用中的配置初始化日志记录jar:file:/opt/mapr/hive/hive-0.13/lib/hive-common-0.13.0-mapr-1409.jar/hive-log4j.属性 FAILED:
parseexception行1:49在'is'附近'this'缺少eof g4t7491_[mgr@g4t7491 ~]$
有人知道如何正常通过考试吗?
2条答案
按热度按时间6qfn3psc1#
“配置单元变量的工作方式与hiveconf不同,您需要在其中应用”hiveconf:somthing“在声明hivevar的代码中,只需像这样添加var名称->${var\u name}
例如:通过命令行:
你也可以通过剧本发表声明:
--所以查询看起来是这样的(没有hiveconf):
ca1c2owp2#
您需要将字符串放在单引号中,以便在插值之后将其正确解析为sql中的字符串。