Hive客户端hive与beeline的区别

hive与beeline简介

    • 1、背景
    • 2、hive
    • 3、beeline
    • 4、hive与beeline的关系


1、背景


Hive的hive与beeline命令都可以为客户端提供Hive的控制台连接。两者之间有什么区别或联系吗?

Hive-cli(hive)是Hive连接hiveserver2的命令行工具,从Hive出生就一直存在,但随着Hive功能的增强、BUG的修复及版本升级,Hive-cli结构的局限性已经跟不上Hive的发展,如果强行更改又不能满足向下兼容,于是就出现了全新的beeline命令行结构。值得注意的是,Hive-cli能做的事beeline都能做,而beeline能做的事Hive-cli不一定能做

2、hive


Hive-cli(hive)的主要特点有:

  • Hive-cli是通过Metastore访问元数据的
  • CliDriver是SQL本地直接编译,然后访问Metastore,提交作业,是重客户端
  • 执行hive会自动运行一个RunJar进程,进程是提供Thrift的RPC的,就是Metastore服务

3、beeline


beeline的主要特点有:

  • beeline是一个纯粹的客户端,用来连接hiveserver2
  • beeLine将SQL提交给Hiveserver2,由Hiveserver2编译,然后访问Metastore,提交作业,是轻客户端
  • 多用户、安全、可以实现其权限控制

4、hive与beeline的关系


hive与beeline的主要区别为:

beeline有权限控制而Hive-cli没有,因为Hive-cli读取元数据绕过了Hiveserver2直接从Metastore访问元数据,而beeline通过Hiveserver2的管控,实现其多用户的权限控制


参考文章:https://www.cnblogs.com/gzgBlog/p/14902120.html


你可能感兴趣的:(#,Hive,#,Hadoop生态圈,hive,hadoop)