我正在尝试从Hive脚本中删除硬编码。为此,我创建了一个hql文件(src_sys_cd_param.hql
)。
通过参数设置源系统值,位于参数文件
之下hive -f /data/data01/dev/edl/md/sptfr/landing/src_sys_cd_param.hql;
param文件有命令集src_sys_cd ='M09';
运行以下脚本后:
INSERT INTO TABLE SPTFR_CORE.M09_PRTY SELECT C.EDW_SK,A.PRTY_TYPE_HIER_ID,
A.PRTY_NUM,A.PRTY_DESC,A.PRTY_DESC,'N',${hiveconf:src_sys_cd},
A.DAI_UPDT_DTTM,A.DAI_CRT_DTTM
FROM SPTFR_STG.M09_PRTY_VIEW_STG A JOIN SPTFR_STG.BKEY_PRTY_STG C
ON ( CONCAT(A.PRTY_TYPE_LVL_1_CD,'|^',A.PRTY_NUM ,'|^',A.SRC_SYS_CD)= C.SRC_CMBN);
收到错误:
Error while compiling statement: FAILED: ParseException line 1:113 cannot recognize input near '$' '{' 'hiveconf' in selection target