[
https://issues.apache.org/jira/browse/HIVE-13688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271386#comment-15271386
]
Xuefu Zhang commented on HIVE-13688:
------------------------------------
I don't believe this is a bug. Hive variables are specific for a Hive user
session and variable substitution happens on the server side. Beeline can
establish connections to multiple servers, so there can be multiple sessions,
each having its own variables. Now if you wan to substitute your shell command
at the client side, which variable value would you use? Therefore, doing so can
have semantic difficulty.
> 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)