Return-Path: X-Original-To: apmail-hive-dev-archive@www.apache.org Delivered-To: apmail-hive-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 131D71883F for ; Fri, 24 Apr 2015 22:39:34 +0000 (UTC) Received: (qmail 60708 invoked by uid 500); 24 Apr 2015 22:39:33 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 60623 invoked by uid 500); 24 Apr 2015 22:39:33 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 60610 invoked by uid 99); 24 Apr 2015 22:39:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Apr 2015 22:39:33 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: message received from 54.76.25.247 which is an MX secondary for dev@hive.apache.org) Received: from [54.76.25.247] (HELO mx1-eu-west.apache.org) (54.76.25.247) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Apr 2015 22:39:06 +0000 Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 892FB25340 for ; Fri, 24 Apr 2015 22:39:04 +0000 (UTC) Received: by pacyx8 with SMTP id yx8so60286830pac.1 for ; Fri, 24 Apr 2015 15:39:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=Bs7cz3Saq+22CEoQI7saYIwC7sfk9DAmLdCWymJmji0=; b=Qp5AJYnC+9aIfbvuEqtNCfR00teAwYwXNAbMCX2int7t1We1/pt8CFr8KpA+4Crplw QLNHmVm/CMD2K4OLpo+D2LfPacKD4M0tbhV/pWaioLm1Z6V4ePcEuwI4JRt1UkNsvDSG 8N51AzkvjF1d/HZE9C7Z7/eUv8Wju+mnzJqEGkWKfsPd9RQM6F9zC/HVSPKn8+onMK/q 01vzo3azPvarFSB3enDZsamnnZLqzd6VKLhuc4gWfC/DpdFZ2wK7b4dnhUDh08BFeIdT dn/sHXlE6qZDIQgM4EpSTBTWKFmaNFysJQvZJDLiGVUTP8rmvysH3MQdiNB5mxRnR+2o /gcg== X-Received: by 10.70.16.65 with SMTP id e1mr990753pdd.87.1429915143072; Fri, 24 Apr 2015 15:39:03 -0700 (PDT) Received: from Alan-Gatess-MacBook-Pro.local (c-76-103-170-145.hsd1.ca.comcast.net. [76.103.170.145]) by mx.google.com with ESMTPSA id fp3sm12104818pdb.52.2015.04.24.15.39.01 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 24 Apr 2015 15:39:02 -0700 (PDT) Message-ID: <553AC603.1060303@gmail.com> Date: Fri, 24 Apr 2015 15:38:59 -0700 From: Alan Gates User-Agent: Postbox 3.0.11 (Macintosh/20140602) MIME-Version: 1.0 To: dev@hive.apache.org Subject: Re: [DISCUSS] Deprecating Hive CLI References: <553973BF.7010106@gmail.com> In-Reply-To: Content-Type: multipart/alternative; boundary="------------010806000504060400060908" X-Virus-Checked: Checked by ClamAV on apache.org --------------010806000504060400060908 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 > 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 > 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 > 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 > --------------010806000504060400060908 Content-Type: multipart/related; boundary="------------020005010503060200060303" --------------020005010503060200060303 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.

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.


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.

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

--------------020005010503060200060303 Content-Type: image/jpeg; x-apple-mail-type=stationery; name="compose-unknown-contact.jpg" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="compose-unknown-contact.jpg" /9j/4AAQSkZJRgABAQEARwBHAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEC AQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/2wBDAQEBAQEBAQICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL/wAAR CAAZABkDAREAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAABgcICQr/xAA0EAABAwMCAgUK BwAAAAAAAAACAQMEBQYRABITIQcUMUF2CBUXIjI2N0JRtVRWkZOV0dL/xAAYAQEAAwEAAAAA AAAAAAAAAAADAAEEAv/EACQRAAICAAQGAwAAAAAAAAAAAAABAhEDMrHREyExM0FxgfDx/9oA DAMBAAIRAxEAPwDuEt+gW/ULet6oVC3rfqNQqFv0OfPn1GhUqfOmzZtKZlS5UqZMaNwzNwiJ VIl7eXLCaZIGwBl3TY8epPx2+jy2ZNPjvkwc9uhW8j7nCPhvOsQliYIeS7cvCpp8o50qwrC4 v3lsNSDbdmTEhvs2tahxpfV3WnmbbozJEw/gwdadbYExVRXKEKoSdvJcaOSqxE7/AAiX0gXx +a69/JSf9alIlste0VzaNpeFrcT9KKymotyiaZ0KRCnzacoE7Kjzn4gi2KqUh3jqDHDHv4mR UfruTWlMzlVUKIVNp9GguEJnAh0+IZjyAiisgyRDnu5azS8miKqjOTVkKqS/psG37fo1Fbab eg25b8eZPeFJBBJSjMG5HjMeyihnaauZwe4OGiju13GAcpOwBeN+U8/IkGbsiS8b7ryogmbz hbyc9REROfZhERO5ETShjPtvpGqTUyLErytS4siSwx5x2tRH4hPOI0DkjZtaJtFxuVEbIUUi yeNujlBUJGbJN6nM/Cyf2Hf60YgjvKA+NPSP4gT7axpcPtr51YWJnYn9dnAQWl722p4ot37y zqnlfp6FrqbwawG8/9k= --------------020005010503060200060303-- --------------010806000504060400060908--