Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # user >> Variable resolution Fails


Copy link to this message
-
Re: Variable resolution Fails
Your shell is expanding the variable ${env:freq}, which doesn't exist in
the shell's environment, so hive is getting the empty string in that place.
 If you are always intending to run your query like this, just use ${freq}
which will be expanded as expected by bash and then passed to hive.

Cheers,
Anthony
On Tue, Apr 30, 2013 at 4:40 PM, sumit ghosh <[EMAIL PROTECTED]> wrote:

> Hi,
>
> The following variable *freq* fails to resolve:
>
>   bash-4.1$ export freq=MNTH
> bash-4.1$ echo $freq
> MNTH
> bash-4.1$ hive -e "select ${env:freq} as dr  from dual"
> Logging initialized using configuration in
> file:/etc/hive/conf.dist/hive-log4j.properties
> Hive history
> file=/hadoop1/hive_querylog/sumighos/hive_job_log_sumighos_201304302321_1867815625.txt
> FAILED: ParseException line 1:8 cannot recognize input near 'as' 'dr'
> 'from' in select clause
> bash-4.1$
>
> Here dual is a table with 1 row.
> What am I am doing wrong? When I try to resolve freq - it is empty!!
>
>   $ hive -S -e "select '${env:freq}' as dr  from dual"
>
>   $
>
> Thanks,
> Sumit
>