我正在运行以下具有以下内容的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列之外,其他所有内容都在参数变量中。另外,我只是附加一些像这样的字符串-- '~${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}'--
:
这些不是表格列;它们是我传递的一些字符串。该查询在Hive QL之外非常有效。当我执行上述HQL脚本时,出现以下错误:
无效的表别名或列引用“ somestring” :(可能的列名称为:data,business_date,src_sys_file_nm,prd_typ_cd)
注意:business_date,src_sys_file_nm和prd_typ_cd是分区。
如果能提出/指出我在这里犯的错误,那将是很棒的事情