Status: In Progress
Affects Version/s: 0.10.0
Fix Version/s: None
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.