我有一个类似"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}'
但Hive返回以下错误消息:
使用jar中的配置初始化日志:file:/opt/mapr/hive/hive-0.13/lib/hive-common-0.13.0-mapr-1409.jar!/hive-log4j.properties
FAILED:
ParseException行1:49缺少EOF,'是'靠近'这个' g4t7491_ [mgr @ g4t7491~] $
有谁知道如何正常传递它?
答案 0 :(得分:0)
Hive var不像hiveconf那样需要在代码中应用“hiveconf:somthing” 当声明hivevar时,只需添加这样的var名称 - > $ {VAR_NAME}
例如: 通过命令行:
hive -hivevar MONTH_VAR='11' -e "select * from table where month=${MONTH_VAR};"
你也可以通过脚本声明:
set hivevar:MONTH_VAR=11;
- 所以查询看起来像这样(没有hiveconf):
set hivevar:MONTH_VAR=11;
SELECT * from table where month=${MONTH_VAR};
答案 1 :(得分:0)
你需要将字符串放在单引号中,以便在插值后正确解析为sql内的字符串。
$("#sortable")