我正在运行以下hiveql文件,其内容如下
set mapred.output.compress=true;
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;
INSERT OVERWRITE DIRECTORY '${hivevar:hadoop_temp_output_dir}${hivevar:filepattern}${hivevar:business_date}' select data,'~','~${hivevar:src_sys_file_nm}~${hivevar:outbound_file_nm}~${hivevar:prd_typ_cd}~${hivevar:brnch_cd}~${hivevar:orig_src_sys}~${hivevar:my_src_sys}~${hivevar:extract_ts}~$hivevar:business_date}' from mydb.${hivevar:data_table} where src_sys_file_nm=${hivevar:src_sys_file_nm} and business_date=${hivevar:business_date};
在本例中,除了select查询中的data列之外,其他所有内容都在argument变量中。另外,我只是像这样附加一些字符串 -- '~${hivevar:src_sys_file_nm}~${hivevar:outbound_file_nm}~${hivevar:prd_typ_cd}~${hivevar:brnch_cd}~${hivevar:orig_src_sys}~${hivevar:my_src_sys}~${hivevar:extract_ts}~$hivevar:business_date}'--
:
这些不是表列;它们是我传递的一些弦。此查询在配置单元ql之外运行得非常好。当我执行上述hql脚本时,出现以下错误:
无效的表别名或列引用“somestring”:(可能的列名为:data、business\u date、src\u sys\u file\u nm、prd\u typ\u cd)
注:业务日期、src系统文件、prd类型cd是分区。
如果有人能建议/指出我在这里犯的错误,那就太好了
暂无答案!
目前还没有任何答案,快来回答吧!