Eu tenho vários HQL's, abaixo está o exemplo.
localizado em: / 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"
No script principal, estou lendo os HQLs mencionados acima como
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
onde em tables.txt tem uma lista de todos os HQL.
Quero resolver o $ proc_date, no entanto, isso não está acontecendo.
$line
valor?cat /home/ganesh/CopyJobs/hql/$table_name.hql
$ table_name.hql em indefinido. 2) cat não substituirá o valor de $ proc_date.Respostas:
Não tenho certeza se $ (
eval echo"$hql"
) é uma boa escolha.echo
e"$hql"
Gostaria de
hql
arquivo de modelo , por exemplo, substituirload_date="$proc_date"
porLOAD_DATA_TMPL
então, dentro do loop
$proc_date
fonte