Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 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
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB