Hadoop 提供参数以执行配置单元批处理的好方法

Hadoop 提供参数以执行配置单元批处理的好方法,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我试图在批处理模式下使用一些参数执行Hive files.hql,如下所示: hive -hiveconf in_co_societe = 1 in_dt_jour = '2013-01-02 00:00:00.0' -f /home/hduser/Documents/P_THM_CA_RGRP_PRODUITS_JOUR.hql 在我的脚本中,我有这样的论点 '${hiveconf:in_co_societe}' '${hiv

我试图在批处理模式下使用一些参数执行Hive files.hql,如下所示:

hive -hiveconf in_co_societe = 1 in_dt_jour = '2013-01-02 00:00:00.0' -f /home/hduser/Documents/P_THM_CA_RGRP_PRODUITS_JOUR.hql
在我的脚本中,我有这样的论点

'${hiveconf:in_co_societe}'                                 
'${hiveconf:in_dt_jour}'
我的脚本正在插入…选择。。。从

当我给出参数时,目标表中并没有导入任何内容

但是,当我直接在脚本中写入值时,一切正常,数据被导入

那么,我的论点有什么问题


谢谢,

在“=”周围没有空格,每个变量都需要-hiveconf

hive -hiveconf in_co_societe=1 -hiveconf in_dt_jour='2013-01-02 00:00:00.0' 
  -f /home/hduser/Documents/P_THM_CA_RGRP_PRODUITS_JOUR.hql
query=sudo-u$sudo\u user-i bsub-i/opt/ibm/bigdights/hive/bin/hive-hiveconf Loop\u Param='startoop\u Activity\u 312.$Counter'-f/opt/site1/data/EDW/Finance/Scripts/hqlFiles/VNDR\u ITEM\u f/OP\u UNION.sql;echo$查询


一些适用于我的示例语法

为了使这成为一个更通用的过程,Hive允许您使用-hiveconf选项传入变量

hive -hiveconf MY_VAR1=value1 -hiveconf MY_VAR2=value2 -f my_script.hql
在HQL文件中,它的使用方式如下:

show databases;
show tables;
set dfs.block.size=${hiveconf:MY_ VAR1};
select * from ${hiveconf:MY_ VAR2}  limit 2;

you can put them within a .sh file and it can be execute as:   

 sh my_script.sh 

您是否能够编辑问题并将脚本的内容放入您使用的脚本中?