我有多个HQL' s,下面是一个例子。
位于: / home / ganesh / CopyJobs / hql /
insert into XYZ.exttbl_form_data PARTITION (load_date="$proc_date") select FORM_DATA_ID,FORM_ID,USER_ID,INTERACTIONS_ID,SUBMISSION_DATETIME,FILEDS from PQR.exttbl_form_data where load_date="$proc_date"
在主要脚本中我正在阅读上面提到的HQL
export proc_date=2018-05-07
while read line
do
export hql=`cat /home/ganesh/CopyJobs/hql/$table_name.hql`
export hql_final=$(`eval echo"$hql"`)
echo "Final HQL: $hql_final"
hive -e "$hql_final;"
done < /home/ganesh/CopyJobs/config/tables.txt
其中tables.txt中包含所有HQL的列表。
我想要解决$ proc_date但是没有发生。
答案 0 :(得分:0)
使用Hive变量替换(hiveconf变量)。我已经修复了您的脚本。
lblCount.Text = string.Format("Total Directories: {0} Total Files: {1}", TotalDirectories, TotalFiles);
lblCount.Update();
insert into XYZ.exttbl_form_data PARTITION (load_date='${hiveconf:proc_date}')
select FORM_DATA_ID,FORM_ID,USER_ID,INTERACTIONS_ID,SUBMISSION_DATETIME,FILEDS
from PQR.exttbl_form_data where load_date='${hiveconf:proc_date}'
-是要传递给Hive的变量。
主要脚本:
${hiveconf:proc_date}