Hi Xuefu,
What is the plan you have in mind for a transition to using beeline
from within hive?
I assume there is going to be some translation from hive cli options
and commands to beeline. Is that right ?
Once the translation is in place, how would the switch happen ?

I am thinking that once there is a hive-cli compatible beeline mode,
there can be an option to switch between beeline and hive cli codebase
.
For example,
In hive version X , when an environment variable CLI_USE_BEELINE=true
environment variable is set, "hive" command uses beeline underneath
(default remains cli codepath, so that users can start experimenting
with "hive" commands beeline mode).
In hive version Y > X, by default "hive" command starts using beeline
underneath.

Is it something like this what you have in mind ?

Thanks,
Thejas



On Mon, Apr 27, 2015 at 5:31 PM, Xuefu Zhang <xzh...@cloudera.com> wrote:
> FYI, I have created an uber JIRA for this:
> https://issues.apache.org/jira/browse/HIVE-10511.
>
> Thanks,
> Xuefu
>
> On Mon, Apr 27, 2015 at 4:54 PM, Xuefu Zhang <xzh...@cloudera.com> wrote:
>
>> Yes, Olga. I  will create JIRAs to track those.
>>
>> Thanks,
>> Xuefu
>>
>> On Mon, Apr 27, 2015 at 4:51 PM, Olga L. Natkovich <
>> ol...@yahoo-inc.com.invalid> wrote:
>>
>>> We would need to build a test suite that makes sure that new
>>> implementation is compatible with the old one for users to adopt it. We
>>> would also need some benchmarks to compare performance. Could you please
>>> include this in the proposal as well.
>>> Thanks,
>>> Olga
>>>       From: Xuefu Zhang <xzh...@cloudera.com>
>>>  To: "dev@hive.apache.org" <dev@hive.apache.org>
>>>  Sent: Monday, April 27, 2015 4:46 PM
>>>  Subject: Re: [DISCUSS] Deprecating Hive CLI
>>>
>>> Existing implementation of Hive CLI will be replaced, so that Hive
>>> community don't need to maintain two code paths for the same thing. That's
>>> basically what option #2 provides.
>>>
>>>
>>>
>>> On Mon, Apr 27, 2015 at 4:01 PM, Alexander Pivovarov <
>>> apivova...@gmail.com>
>>> wrote:
>>>
>>> > Does it mean that existing Hive CLI will be killed?
>>> >
>>> > On Mon, Apr 27, 2015 at 3:46 PM, Xuefu Zhang <xzh...@cloudera.com>
>>> wrote:
>>> >
>>> > > To be precise, the proposal is NOT deprecating, but more of changing
>>> the
>>> > > implementation of the Hive CLI using beeline, which seems in
>>> consensus.
>>> > >
>>> > > On Mon, Apr 27, 2015 at 2:47 PM, Alexander Pivovarov <
>>> > apivova...@gmail.com
>>> > > >
>>> > > wrote:
>>> > >
>>> > > > I just started the survey on Deprecating Hive CLI. Please share you
>>> > > > opinion.
>>> > > >
>>> > > > Deprecating Hive CLI:
>>> > > > https://www.surveymonkey.com/s/XFHLM57
>>> > > >
>>> > > > Results:
>>> > > > https://www.surveymonkey.com/results/SM-JHYY5DR9/
>>> > > >
>>> > > >
>>> > > > On Mon, Apr 27, 2015 at 2:23 PM, Alexander Pivovarov <
>>> > > apivova...@gmail.com
>>> > > > >
>>> > > > wrote:
>>> > > >
>>> > > > > Xuefu,
>>> > > > >
>>> > > > > I'm just saying that most of the shells (e.g. mysql or accumulo)
>>> > > reserve
>>> > > > > -u for user.
>>> > > > >
>>> > > > > I believe lots of stuff in Hive take MySQL as an example.
>>> > > > >
>>> > > > > Alex
>>> > > > >
>>> > > > >
>>> > > > > On Mon, Apr 27, 2015 at 2:14 PM, Xuefu Zhang <xzh...@cloudera.com
>>> >
>>> > > > wrote:
>>> > > > >
>>> > > > >> Alex,
>>> > > > >>
>>> > > > >> Just to be sure, we are talking about replace Hive CLI, not mysql
>>> > and
>>> > > > >> accumulo command line shells. Thus, I'm not sure this is
>>> relavent.
>>> > > > >> Regardless, I think we'd better have some writeup in the proposed
>>> > uber
>>> > > > >> JIRA
>>> > > > >> so that everyone knows what we are signing up.
>>> > > > >>
>>> > > > >> Thanks,
>>> > > > >> Xuefu
>>> > > > >>
>>> > > > >> On Mon, Apr 27, 2015 at 12:57 PM, Alexander Pivovarov <
>>> > > > >> apivova...@gmail.com>
>>> > > > >> wrote:
>>> > > > >>
>>> > > > >> > Mysql and accumulo command line shells use -u to pass <user>
>>> > > > >> >
>>> > > > >> > Can beeline use -u as well? Currently -u is reserved for URL?
>>> > > > >> > On Apr 27, 2015 12:42 PM, "Xuefu Zhang" <xzh...@cloudera.com>
>>> > > wrote:
>>> > > > >> >
>>> > > > >> > > Thanks to all for the input. I assume that we have a
>>> consensus
>>> > > that
>>> > > > >> we'd
>>> > > > >> > > like to keep Hive as an alias to beeline with embedded HS2
>>> and
>>> > > make
>>> > > > >> user
>>> > > > >> > > transition as smooth as possible by identifying gaps and
>>> fixing
>>> > > > >> issues.
>>> > > > >> > I'm
>>> > > > >> > > going to create an umbrella JIRA and subtasks to track the
>>> > > progress.
>>> > > > >> > Please
>>> > > > >> > > let me know if you have further questions.
>>> > > > >> > >
>>> > > > >> > > Thanks,
>>> > > > >> > > Xuefu
>>> > > > >> > >
>>> > > > >> > > On Sat, Apr 25, 2015 at 12:59 AM, Lars Francke <
>>> > > > >> lars.fran...@gmail.com>
>>> > > > >> > > wrote:
>>> > > > >> > >
>>> > > > >> > > > Yes, well put. It is about usability and "least surprise".
>>> > > > >> > > >
>>> > > > >> > > > So if people wouldn't have to deal with JDBC syntax by
>>> default
>>> > > and
>>> > > > >> > could
>>> > > > >> > > > use "hive" instead of "beeline" to start that'd be good.
>>> > > > >> > > >
>>> > > > >> > > >
>>> > > > >> > > > On Sat, Apr 25, 2015 at 12:38 AM, Alan Gates <
>>> > > > alanfga...@gmail.com>
>>> > > > >> > > wrote:
>>> > > > >> > > >
>>> > > > >> > > >> If I understand correctly this is an argument about
>>> > usability,
>>> > > > not
>>> > > > >> > > >> functionality.  So if Hive still had the CLI but it
>>> happened
>>> > to
>>> > > > use
>>> > > > >> > > either
>>> > > > >> > > >> HS2 or embedded HS2 (depending on configuration)
>>> underneath
>>> > > your
>>> > > > >> > > concerns
>>> > > > >> > > >> would be addressed.  Is that correct?
>>> > > > >> > > >>
>>> > > > >> > > >> Alan.
>>> > > > >> > > >>
>>> > > > >> > > >>  Lars Francke <lars.fran...@gmail.com>
>>> > > > >> > > >>  April 23, 2015 at 15:53
>>> > > > >> > > >> I've been at about 20 different customers in the years
>>> since
>>> > > > >> Beeline
>>> > > > >> > has
>>> > > > >> > > >> been added. I can only think of a single one that has used
>>> > > > beeline.
>>> > > > >> > The
>>> > > > >> > > >> instinct is to use "hive", partially because it is easy to
>>> > > > remember
>>> > > > >> > and
>>> > > > >> > > >> intuitive and because it is easier to use. I end up
>>> googling
>>> > > the
>>> > > > >> > stupid
>>> > > > >> > > >> JDBC syntax every single time.
>>> > > > >> > > >>
>>> > > > >> > > >> I know this might be a bit "out there" but I propose
>>> > something
>>> > > > >> else:
>>> > > > >> > > >> 1) Rename (or link) "beeline" to "hive"
>>> > > > >> > > >> 2) Add a "--hiveserver2" (or "--jdbc" or "--beeline")
>>> option
>>> > to
>>> > > > the
>>> > > > >> > > >> "hive" command to get the current "beeline", this'd keep
>>> the
>>> > > CLI
>>> > > > as
>>> > > > >> > > >> default, we could also add a "--legacy" or "--cli" option
>>> and
>>> > > > make
>>> > > > >> > > >> "hiveserver2/beeline" the default.
>>> > > > >> > > >> 3) Add a "--embedded-hs2" option to the "hive" command to
>>> get
>>> > > an
>>> > > > >> > > embedded
>>> > > > >> > > >> HS2 in Beeline
>>> > > > >> > > >> 4) Add some documentation to beeline reminding people on
>>> > > startup
>>> > > > of
>>> > > > >> > > >> beeline on how to connect and how to use embedded mode
>>> > > > >> > > >>
>>> > > > >> > > >> The fact is that the old shell just works for lots of
>>> people
>>> > > and
>>> > > > >> > there's
>>> > > > >> > > >> just no need for beeline for these people. Also the name
>>> is
>>> > > > >> confusing
>>> > > > >> > -
>>> > > > >> > > >> especially for non-native speakers. It's not a common
>>> word so
>>> > > > it's
>>> > > > >> not
>>> > > > >> > > easy
>>> > > > >> > > >> to remember.
>>> > > > >> > > >>
>>> > > > >> > > >>
>>> > > > >> > > >>  Alan Gates <alanfga...@gmail.com>
>>> > > > >> > > >>  April 23, 2015 at 15:35
>>> > > > >> > > >>  Xuefu, thanks for getting this discussion started.
>>> Limiting
>>> > > our
>>> > > > >> code
>>> > > > >> > > >> paths is definitely a plus.  My inclination would be to go
>>> > > > towards
>>> > > > >> > > option
>>> > > > >> > > >> 2.  A few questions:
>>> > > > >> > > >>
>>> > > > >> > > >> 1) Is there any functionality in CLI that's not in
>>> beeline?
>>> > > > >> > > >> 2) If I understand correctly option 2 would have an
>>> implicit
>>> > > HS2
>>> > > > in
>>> > > > >> > > >> process when a user runs the CLI.  Would this be
>>> available in
>>> > > > >> option 1
>>> > > > >> > > as
>>> > > > >> > > >> well?
>>> > > > >> > > >> 3) Are there any performance implications, since now
>>> commands
>>> > > > have
>>> > > > >> to
>>> > > > >> > > hop
>>> > > > >> > > >> through a thrift/jdbc loop even in the embedded mode?
>>> > > > >> > > >> 4) If we choose option 2 how backward compatible can we
>>> make
>>> > > it?
>>> > > > >> Will
>>> > > > >> > > >> users need to change any scripts they have that use the
>>> CLI?
>>> > > Do
>>> > > > we
>>> > > > >> > have
>>> > > > >> > > >> tests that will make sure of this?
>>> > > > >> > > >>
>>> > > > >> > > >> Alan.
>>> > > > >> > > >>
>>> > > > >> > > >>  Xuefu Zhang <xzh...@cloudera.com>
>>> > > > >> > > >>  April 23, 2015 at 14:43
>>> > > > >> > > >> Hi all,
>>> > > > >> > > >>
>>> > > > >> > > >> I'd like to revive the discussion about the fate of Hive
>>> CLI,
>>> > > as
>>> > > > >> this
>>> > > > >> > > >> topic
>>> > > > >> > > >> has haunted us several times including [1][2]. It looks
>>> to me
>>> > > > that
>>> > > > >> > there
>>> > > > >> > > >> is
>>> > > > >> > > >> a consensus that it's not wise for Hive community to keep
>>> > both
>>> > > > Hive
>>> > > > >> > CLI
>>> > > > >> > > as
>>> > > > >> > > >> it is as well as Beeline + HS2. However, I don't believe
>>> that
>>> > > no
>>> > > > >> > action
>>> > > > >> > > is
>>> > > > >> > > >> the best action for us. From discussion so far, I see the
>>> > > > following
>>> > > > >> > > >> proposals:
>>> > > > >> > > >>
>>> > > > >> > > >> 1. Deprecating Hive CLI and advise that users use Beeline.
>>> > > > >> > > >> 2. Make Hive CLI as naming flavor to beeline with embedded
>>> > > mode.
>>> > > > >> > > >>
>>> > > > >> > > >> Frankly, I don't see much difference between the two
>>> > > approaches.
>>> > > > >> > Keeping
>>> > > > >> > > >> an
>>> > > > >> > > >> alias at script or even code level isn't that much work.
>>> > > However,
>>> > > > >> > > >> shouldn't
>>> > > > >> > > >> we pick a direction and start moving to it? If there is
>>> any
>>> > > gaps
>>> > > > >> > between
>>> > > > >> > > >> beeline embedded and Hive CLI, we should identify and
>>> fill in
>>> > > > >> those.
>>> > > > >> > > >>
>>> > > > >> > > >> I'd love to hear the thoughts from the community and hope
>>> > this
>>> > > > >> time we
>>> > > > >> > > >> will
>>> > > > >> > > >> have concrete action items to work on.
>>> > > > >> > > >>
>>> > > > >> > > >> Thanks,
>>> > > > >> > > >> Xuefu
>>> > > > >> > > >>
>>> > > > >> > > >> [1]
>>> > > > >> > > >>
>>> > > > >> > > >>
>>> > > > >> > >
>>> > > > >> >
>>> > > > >>
>>> > > >
>>> > >
>>> >
>>> http://mail-archives.apache.org/mod_mbox/hive-dev/201412.mbox/%3C5485E1BE.3060709%40hortonworks.com%3E
>>> > > > >> > > >> [2]
>>> > > > >> https://www.mail-archive.com/dev@hive.apache.org/msg112378.html
>>> > > > >> > > >>
>>> > > > >> > > >>
>>> > > > >> > > >
>>> > > > >> > >
>>> > > > >> >
>>> > > > >>
>>> > > > >
>>> > > > >
>>> > > >
>>> > >
>>> >
>>>
>>>
>>>
>>>
>>
>>

Reply via email to