beeline vs hive cli

近期,大数据开发环境升级为cloudera 5.3. 配套的hive版本升级为0.13.1.可以使用心仪已久的分析开窗函数了。但在使用的过程中发现一些问题,仅记于此。

1.在使用hive命令的时候,发现自动跳转至beeline客户端,并且提示hive cli已经过期,推荐使用beeline.

然后提示你输入jdbc url.

2.通过hadoop version 找到hive的home,发现有一个hive-old 的文件,通过检查测试发现这就是原来hive cli的文件。

3.简单测试beeline的使用,发现cloudera的发行版的beeline在运行load data local inpath的时候总是提示找不到文件的错误,

去其官方论坛上发现有人遇到过这个问题,而且尚未解决,但是支持hdfs的全路径。

我们在项目中使用了类似 hive –e ‘load data local inpath’ 和 hive –f 之类的

因为我们这边的hadoop使用的是kerbos认证,所以需要在jdbc的url中接入principal。

hive cli 之于hive 就相当于sql plus之于oracle. 需要和server安装在一起。

而beeline只需要一个jdbc jar包就可以了,可以不需要与hive server 2装在一台server.

他们认证的方式也不同,hive cli可以直接访问hdfs和hive meta store,感觉更稳定快捷一些。

而beeline 则需要把请求提交到hive server2,通过安全验证,然后在队列中等待。

beeline的并发性和安全性得到了提高。

时间: 2024-10-27 04:45:13

beeline vs hive cli的相关文章

Hive 系列(三)—— Hive CLI 和 Beeline 命令行的基本使用

一.Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g. -d A=B or --define A=B --定义用户自定义变量 --database <databasename> Specify the database to use

Spark SQL 使用beeline访问hive仓库

一.添加hive-site.xml 在$SPARK_HOME/conf下添加hive-site.xml的配置文件,目的是能正常访问hive的元数据 vim hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.1.201:3306/hiveDB?createDatabaseIf

hive CLI 启动错误

hive CLI启动时报错:(hadoop-2.5.2 + HIVE 1.1.0) [email protected]:/hadoop-2.5.2/etc/hadoop# hive Logging initialized using configuration in jar:file:/hive/apache-hive-1.1.0-bin/lib/hive-common-1.1.0.jar!/hive-log4j.properties SLF4J: Class path contains mul

hive cli 启动缓慢问题

hive-0.13.1启动缓慢的原因 发现时间主要消耗在下面3个地方: 1. hadoopjar的时候要把相关的jar包上传到hdfs中(这里大概消耗5s,hive0.11一样,这个地方不太好优化) 2. 在每次hive cli启动的时候,初始化HiveMetaStore时,在init时,会调用下面3个方法,创建default db,role ,admin. 具体代码: synchronized(HMSHandler.class) { createDefaultDB(); createDefau

Hive cli源码阅读和梳理

对Cli的重新认识*). hive cli有两种模式, 本地模式: 采用持有的driver对象来处理, 远程模式: 通过连接HiveServer来实现, 由此可见之前的架构图中的描述还是模糊且带有误导性*). 支持singal的处理支持, 比如对ctrl+c中断, 需要两次才完全退出交互*). 交互式命令处理模式源码阅读*). Signal类对象的使用,Singal静态函数 Signal.handle(Singal singla, SingalHandler handler);对signal函数

hive启动问题 Unable to start Hive Cli

hive启动问题 Unable to start Hive Cli [[email protected] lib]$ hiveLogging initialized using configuration in file:/opt/hadoop/apache-hive-0.14.0-bin/conf/hive-log4j.properties SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [

Hive 8、Hive2 beeline 和 Hive jdbc

1.Hive2 beeline  Beeline 要与HiveServer2配合使用,支持嵌入模式和远程模式 启动beeline 打开两个Shell窗口,一个启动Hive2 一个beeline连接hive2 #启动HiverServer2 , ./bin/hiveserver2 [[email protected] ~]# hiveserver2 16/02/23 22:55:25 WARN conf.HiveConf: HiveConf of name hive.metastore.local

beeline链接hive报错

看问题:beeline连接hiveserver2报错.连接串:hive  --service beeline -u jdbc:hive2://s1:10000/hive 错误:Error: Could not open client transport with JDBC Uri: jdbc:hive2://s1:10000/hive: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.Re

Hive Beeline 官方文档学习

Beeline 是什么? 它是一个命令行形式的jdbc客户端.搞Java开发的同学,看到这里就应该知道这货是什么了 ── 它是一个连接数据库的工具. 只不过Beeline连接的数据库是HiveServer2. Beeline 有两种工作模式:内嵌.远程. 内嵌模式中,会运行一个内嵌的Hive(类似于Hive CLI). 远程模式中,通过Thrift协议连接到一个不同的HiveServer2.从Hive 0.14起,Beeline连接HiveServer2 时,还会将HiveServer2 执行查