Hello Jan, I guess this is because you wrote ${hivevar=PNAME} with an = instead of a :
regards, Furcy On Tue, Mar 21, 2017 at 5:50 PM, Brotanek, Jan <jan.brota...@adastragrp.com> wrote: > Hi, I have following shell script: > > > > #!/bin/bash > > PNAME=20170320_203225 > > TNAME=tablea1 > > /usr/bin/hive -hiveconf hive.cli.errors.ignore=true -hivevar PNAME=$PNAME > -hivevar TNAME=$TNAME -v -f ./query.hql > > > > Trying to pass PNAME hivevar to query.hql script: > > > > insert into table a1.${hivevar:TNAME}_orc PARTITION > (part_col=${hivevar=PNAME}) > > select > > a1, > > a2, > > a3 > > from a1.${hivevar:TNAME} > > ; > > > > Substitution works fine in table name and from clause. However in > (part_col=${hivevar=PNAME}) I get error cannot recognize input near '$' '{' > 'hivevar' in constant. > > > > If I add quotes (part_col=”${hivevar=PNAME}”), it works fine, but never > expands variable, resulting having text ”${hivevar=PNAME}”) in my partition. > > How should I quote PNAME to avoid error and having my variable expanded? > > > > Can anyone help? > > Thank you! > > >