hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carl Steinbach (JIRA)" <>
Subject [jira] [Updated] (HIVE-4568) Beeline needs to support resolving variables
Date Wed, 05 Jun 2013 19:28:20 GMT


Carl Steinbach updated HIVE-4568:

    Status: Open  (was: Patch Available)

Currently HiveServer2 (and by extension Beeline) supports the ability to interactively set
hivevars, system properties, and configuration properties on a per-session basis, and also
supports the ability to inspect these values, along with environment variable values. All
of this functionality is provided through the 'set' command and is implemented on the server-side.
HiveServer2 doesn't support variable interpolation, but it should. The problem with the approach
outlined in this patch is that it masks the session variables stored on the server side, and
instead maintains additional variable state on the client side. This is especially confusing
because users can still see and modify the server-side session state using the set command.

I have two high-level pieces of advice:

* Implement variable substitution on the server-side instead of trying to fix this on the
client side. The current approach will result in confusion for users ("The 'set' command shows
me that x=y, but when I use it in a statement I get an error saying it's not set?"). The patch
also doesn't support hivevars, and doesn't support the ability to inspect variable values
using the 'set' command. All of this functionality already exists on the server-side, so why
not take advantage of it?
* If the actual goal of this patch is to provide access to client-side state as opposed to
server-side state, then I think the syntax should be different in order to avoid confusion,
e.g. @@var@@ instead of ${var}.
> Beeline needs to support resolving variables
> --------------------------------------------
>                 Key: HIVE-4568
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>    Affects Versions: 0.10.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
>            Priority: Minor
>             Fix For: 0.11.1
>         Attachments: HIVE-4568.patch
> Beeline currently doesn't support variable (system, env, etc) substitution as hive client
does. Supporting this feature will certainly make it more usable.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message