如何为hiveql查询设置参数

sdnqo3pr  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(255)

我正在运行以下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是分区。
如果有人能建议/指出我在这里犯的错误,那就太好了

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题