[ 
https://issues.apache.org/jira/browse/HIVE-13688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392239#comment-15392239
 ] 

Sergio Peña commented on HIVE-13688:
------------------------------------

[~xuefuz] [~ngangam] We could do what shell scripts do with global and local 
variables. Local variables override global variables while you're in a function.

For Hive, if a user sets a OS_NAME variable on Beeline, then Beeline should use 
the user value instead of the HS2 value while you are in the Beeline session. 
If it is not set, then just tell HS2 to substitute the value on its side. Isn't 
that better rather than create a new type of variable? This is a normal 
behavior even on Linux systems, where a variable can be changed on a 
user-session, and then go back to the linux-session once user logout. 

> Variable substitutions not working for shell commands in beeline
> ----------------------------------------------------------------
>
>                 Key: HIVE-13688
>                 URL: https://issues.apache.org/jira/browse/HIVE-13688
>             Project: Hive
>          Issue Type: Bug
>          Components: Beeline
>    Affects Versions: 1.1.0
>            Reporter: Naveen Gangam
>            Assignee: Naveen Gangam
>
> Appears that the variable substitutions work fine for DML and DDL commands.
> > set hivevar:v1=databases;
> No rows affected (0.004 seconds)
> > show ${v1};
> +----------------+--+
> | database_name  |
> +----------------+--+
> | default        |
> +----------------+--+
> 1 row selected (0.243 seconds)
> > set hivevar:v1=tmp;
> No rows affected (0.061 seconds)
> > create table ${v1} (col1 string);
> No rows affected (0.065 seconds)
> > describe ${v1};
> INFO  : Compiling 
> command(queryId=hive_20160504105151_cb6ab7f1-26ac-4733-80ed-13a5134ba2b5): 
> describe tmp
> INFO  : Executing 
> command(queryId=hive_20160504105151_cb6ab7f1-26ac-4733-80ed-13a5134ba2b5): 
> describe tmp
> +-----------+------------+----------+--+
> | col_name  | data_type  | comment  |
> +-----------+------------+----------+--+
> | col1      | string     |          |
> +-----------+------------+----------+--+
> 1 row selected (0.121 seconds)
> But it does not appear to work for shell commands (introduced in HIVE-6791 )
> > !sh sudo -u hdfs hdfs dfs -mkdir /user/root/${v1}
> mkdir: `/user/root/${v1}': No such file or directory <========== problem
> Command failed with exit code = 1
> > !sh echo ${v1};
> ${v1};



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to