[ 
https://issues.apache.org/jira/browse/HIVE-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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)

Reply via email to