[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15864981#comment-15864981 ] Greg Senia commented on HIVE-10511: --- [~gopalv] thank you for further insight. I wish all Hadoop Vendors I talked with felt the same way. I know multiple vendors who feel Hive and HiveServer2 should be the ONLY access mechanism on top of Hadoop. I guess the approach we've been taking at my current and past employer is that tools like Voltage or Protegrity or Dataguise would be used to secure column level access using FPE. But I can see how some companies would not want to invest down that road. How is LLAP and doAS working is that going to work as things like Protegrity require jobs to run as the actual endUser. It cannot run as Hive and unfortunately I don't think this requirement will be changing any time soon. > Replacing the implementation of Hive CLI using Beeline > -- > > Key: HIVE-10511 > URL: https://issues.apache.org/jira/browse/HIVE-10511 > Project: Hive > Issue Type: Bug > Components: CLI >Affects Versions: 0.10.0 >Reporter: Xuefu Zhang >Assignee: Ferdinand Xu > > Hive CLI is a legacy tool which had two main use cases: > 1. a thick client for SQL on hadoop > 2. a command line tool for HiveServer1. > HiveServer1 is already deprecated and removed from Hive code base, so use > case #2 is out of the question. For #1, Beeline provides or is supposed to > provides equal functionality, yet is implemented differently from Hive CLI. > As it has been a while that Hive community has been recommending Beeline + > HS2 configuration, ideally we should deprecating Hive CLI. Because of wide > use of Hive CLI, we instead propose replacing Hive CLI's implementation with > Beeline plus embedded HS2 so that Hive community only needs to maintain a > single code path. In this way, Hive CLI is just an alias to Beeline at either > shell script level or at high code level. The goal is that no changes or > minimum changes are expected from existing user scrip using Hive CLI. > This is an Umbrella JIRA covering all tasks related to this initiative. Over > the last year or two, Beeline has been improved significantly to match what > Hive CLI offers. Still, there may still be some gaps or deficiency to be > discovered and fixed. In the meantime, we also want to make sure the enough > tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15864448#comment-15864448 ] Gopal V commented on HIVE-10511: [~gss2002]: The big issue with HS2 was primarily with MapredLocalTask (if you're going by the Cloudera docs), which effectively burns down the CPU on the HS2 box and both uploads/downloads data to HDFS to run joins. Currently, I'm doing ~100 concurrent queries per 16Gb HS2 with LLAP (so, approx ~250-500 sessions per box on Tableau). And some part of it needs to improve, particularly when moving >10k rows per query. bq. how do you plan on stopping folks on using sparkSQL cli as it goes directly at metastore and fs (off-topic) Look, we're not in the business of stopping users from doing what they want - we're not going to go down that way. However, some admins and business owners are. When dealing with some groups of users, the fact that a SQL user can't just "copy all this data to my laptop and sell it somewhere" is an advantage. Current solutions (where filesystem is the only permission level) involve maintaining different copies of data to keep it safe with raw file permissions. Imagine GPS pickup/dropoff, billing address, CC # and real-name in a db - the pricing analysis guys need the first three, the billing folks need the last 3 etc. This is insanity when it comes to ETL scheduling and keeping all parts of the system in sync - so people who go down the "maintain different copies" path will be carrying a pager daily. Not all of that data processing is SQL, at least not the geo-location or clustering, so in my view, Hive (as a system of record) needs to make sure Spark is not left out of the workflows. > Replacing the implementation of Hive CLI using Beeline > -- > > Key: HIVE-10511 > URL: https://issues.apache.org/jira/browse/HIVE-10511 > Project: Hive > Issue Type: Bug > Components: CLI >Affects Versions: 0.10.0 >Reporter: Xuefu Zhang >Assignee: Ferdinand Xu > > Hive CLI is a legacy tool which had two main use cases: > 1. a thick client for SQL on hadoop > 2. a command line tool for HiveServer1. > HiveServer1 is already deprecated and removed from Hive code base, so use > case #2 is out of the question. For #1, Beeline provides or is supposed to > provides equal functionality, yet is implemented differently from Hive CLI. > As it has been a while that Hive community has been recommending Beeline + > HS2 configuration, ideally we should deprecating Hive CLI. Because of wide > use of Hive CLI, we instead propose replacing Hive CLI's implementation with > Beeline plus embedded HS2 so that Hive community only needs to maintain a > single code path. In this way, Hive CLI is just an alias to Beeline at either > shell script level or at high code level. The goal is that no changes or > minimum changes are expected from existing user scrip using Hive CLI. > This is an Umbrella JIRA covering all tasks related to this initiative. Over > the last year or two, Beeline has been improved significantly to match what > Hive CLI offers. Still, there may still be some gaps or deficiency to be > discovered and fixed. In the meantime, we also want to make sure the enough > tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15864337#comment-15864337 ] Greg Senia commented on HIVE-10511: --- [~gopalv] out of curiosity the big issue is HS2 has always been a scalability issue. So the next question how do you plan on stopping folks on using sparkSQL cli as it goes directly at metastore and fs which we are using along with native mr / spark going directly at the fs system location of this data? > Replacing the implementation of Hive CLI using Beeline > -- > > Key: HIVE-10511 > URL: https://issues.apache.org/jira/browse/HIVE-10511 > Project: Hive > Issue Type: Bug > Components: CLI >Affects Versions: 0.10.0 >Reporter: Xuefu Zhang >Assignee: Ferdinand Xu > > Hive CLI is a legacy tool which had two main use cases: > 1. a thick client for SQL on hadoop > 2. a command line tool for HiveServer1. > HiveServer1 is already deprecated and removed from Hive code base, so use > case #2 is out of the question. For #1, Beeline provides or is supposed to > provides equal functionality, yet is implemented differently from Hive CLI. > As it has been a while that Hive community has been recommending Beeline + > HS2 configuration, ideally we should deprecating Hive CLI. Because of wide > use of Hive CLI, we instead propose replacing Hive CLI's implementation with > Beeline plus embedded HS2 so that Hive community only needs to maintain a > single code path. In this way, Hive CLI is just an alias to Beeline at either > shell script level or at high code level. The goal is that no changes or > minimum changes are expected from existing user scrip using Hive CLI. > This is an Umbrella JIRA covering all tasks related to this initiative. Over > the last year or two, Beeline has been improved significantly to match what > Hive CLI offers. Still, there may still be some gaps or deficiency to be > discovered and fixed. In the meantime, we also want to make sure the enough > tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15819653#comment-15819653 ] Gopal V commented on HIVE-10511: [~gss2002]: Part 1 - https://issues.apache.org/jira/browse/HIVE-12427 & Part 2 - https://issues.apache.org/jira/browse/HIVE-14549 The collaboration with SIMBA for the HDP ODBC driver ensures it gets the same wins as the open source JDBC one, so that Excel, Microstrategy and Tableau can see the gains. The concerns for beeline are somewhat inherited from sqlline mostly related to formatting performance. The raw JDBC protocol is usually ~10x faster to transport data over 10GigE than beeline can print. If this is a hard concern, I recommend commenting or interacting with those specific collaboration JIRAs. > Replacing the implementation of Hive CLI using Beeline > -- > > Key: HIVE-10511 > URL: https://issues.apache.org/jira/browse/HIVE-10511 > Project: Hive > Issue Type: Bug > Components: CLI >Affects Versions: 0.10.0 >Reporter: Xuefu Zhang >Assignee: Ferdinand Xu > > Hive CLI is a legacy tool which had two main use cases: > 1. a thick client for SQL on hadoop > 2. a command line tool for HiveServer1. > HiveServer1 is already deprecated and removed from Hive code base, so use > case #2 is out of the question. For #1, Beeline provides or is supposed to > provides equal functionality, yet is implemented differently from Hive CLI. > As it has been a while that Hive community has been recommending Beeline + > HS2 configuration, ideally we should deprecating Hive CLI. Because of wide > use of Hive CLI, we instead propose replacing Hive CLI's implementation with > Beeline plus embedded HS2 so that Hive community only needs to maintain a > single code path. In this way, Hive CLI is just an alias to Beeline at either > shell script level or at high code level. The goal is that no changes or > minimum changes are expected from existing user scrip using Hive CLI. > This is an Umbrella JIRA covering all tasks related to this initiative. Over > the last year or two, Beeline has been improved significantly to match what > Hive CLI offers. Still, there may still be some gaps or deficiency to be > discovered and fixed. In the meantime, we also want to make sure the enough > tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15819606#comment-15819606 ] Greg Senia commented on HIVE-10511: --- I must ask the question how has this been looked at from real world usage. Two companies I have worked for now will have major scalability issues with HiveServer2 and beeline. Specifically with large results that a user may return. Whats the mitigation plan so clusters don't end up with 50 HiveServer2's with 12GB heaps... http://www.cloudera.com/documentation/enterprise/5-4-x/topics/cdh_ig_hiveserver2_configure.html > Replacing the implementation of Hive CLI using Beeline > -- > > Key: HIVE-10511 > URL: https://issues.apache.org/jira/browse/HIVE-10511 > Project: Hive > Issue Type: Bug > Components: CLI >Affects Versions: 0.10.0 >Reporter: Xuefu Zhang >Assignee: Ferdinand Xu > > Hive CLI is a legacy tool which had two main use cases: > 1. a thick client for SQL on hadoop > 2. a command line tool for HiveServer1. > HiveServer1 is already deprecated and removed from Hive code base, so use > case #2 is out of the question. For #1, Beeline provides or is supposed to > provides equal functionality, yet is implemented differently from Hive CLI. > As it has been a while that Hive community has been recommending Beeline + > HS2 configuration, ideally we should deprecating Hive CLI. Because of wide > use of Hive CLI, we instead propose replacing Hive CLI's implementation with > Beeline plus embedded HS2 so that Hive community only needs to maintain a > single code path. In this way, Hive CLI is just an alias to Beeline at either > shell script level or at high code level. The goal is that no changes or > minimum changes are expected from existing user scrip using Hive CLI. > This is an Umbrella JIRA covering all tasks related to this initiative. Over > the last year or two, Beeline has been improved significantly to match what > Hive CLI offers. Still, there may still be some gaps or deficiency to be > discovered and fixed. In the meantime, we also want to make sure the enough > tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14519333#comment-14519333 ] Ferdinand Xu commented on HIVE-10511: - Yes, that's one option. I am wondering whether it will break the compatibility. Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14518851#comment-14518851 ] Ferdinand Xu commented on HIVE-10511: - I have an investigation for the hive cli. It can help us define the scope of this jira. *Options* HiveCli is supporting the following options(Detailed information is available in the class OptionsProcessor): * database: * execute quoted query string * execute query file * specify initial query file * set hiveconf * define variable * set hivevar * silent mode * verbose * help By replacing the HIVE Cli, we need to implement all of the options one by one using beeline functionality. *Iterative commands* Belows are the commands used by HIVE Cli. * quite exit * source * +commands begin with !(execute shell command directly)+ * processLocalCommand (executed by CommandProcessor: dirver, addResourceProcessor, etc) For commands beginning with ‘!’, it is treated as sql command other than shell command in beeline. Addressing this issue, we need add one configuration allowing user to choose command style in beeline or that in hivecli. Others points including RCFileCat and completes, it should be supported by using beeline funcionality. Any thoughts about it, [~xuefuz]? Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14519395#comment-14519395 ] Damien Carol commented on HIVE-10511: - I agree, in trunk I found that this command already exists: bq. !sh ls /tmp work Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14519370#comment-14519370 ] Xuefu Zhang commented on HIVE-10511: Yeah. I think we need to introduce a mode in Beeline for compatibility with Hive CLI. We don't want to expose this mode to beeline users to avoid confusion. Thus, we may need a light wrapper code for Beeline in which we will turn on this mode. To implement this mode in Beeline, we can inspect each input line and interpret it according to Hive CLI syntax. Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14519363#comment-14519363 ] Xuefu Zhang commented on HIVE-10511: FYI: Beeline's syntax for executing a shell command is sh ls /tmp. This is introduced quite some time back. Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14516251#comment-14516251 ] Ferdinand Xu commented on HIVE-10511: - This is what hive cli supported: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli Currently qtest framework is using clidriver to process command. I think the first step should be replacing it with beeline. I do believe we can resolve some compatibility issues after resolving all failed issues caused by the refactory. [~xuefuz], do you think we need to create a branch to do the replacing work? Thank you! Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10511) Replacing the implementation of Hive CLI using Beeline
[ https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14516260#comment-14516260 ] Xuefu Zhang commented on HIVE-10511: [~Ferd], Please note that the document link is a little outdated in the sense that some of functionality has already removed such as accepting hostname and port, which is meant for HiveServer1. Therefore, we should focus whatever remains. The syntax of the command line might also has difference with Beeline, which needs to be identified. As to a branch for this development, I think it makes sense. I will discuss in dev list and create it accordingly. Replacing the implementation of Hive CLI using Beeline -- Key: HIVE-10511 URL: https://issues.apache.org/jira/browse/HIVE-10511 Project: Hive Issue Type: Bug Components: CLI Affects Versions: 0.10.0 Reporter: Xuefu Zhang Assignee: Ferdinand Xu Hive CLI is a legacy tool which had two main use cases: 1. a thick client for SQL on hadoop 2. a command line tool for HiveServer1. HiveServer1 is already deprecated and removed from Hive code base, so use case #2 is out of the question. For #1, Beeline provides or is supposed to provides equal functionality, yet is implemented differently from Hive CLI. As it has been a while that Hive community has been recommending Beeline + HS2 configuration, ideally we should deprecating Hive CLI. Because of wide use of Hive CLI, we instead propose replacing Hive CLI's implementation with Beeline plus embedded HS2 so that Hive community only needs to maintain a single code path. In this way, Hive CLI is just an alias to Beeline at either shell script level or at high code level. The goal is that no changes or minimum changes are expected from existing user scrip using Hive CLI. This is an Umbrella JIRA covering all tasks related to this initiative. Over the last year or two, Beeline has been improved significantly to match what Hive CLI offers. Still, there may still be some gaps or deficiency to be discovered and fixed. In the meantime, we also want to make sure the enough tests are included and performance impact is identified and addressed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)