通过数据库客户端界面工具DBeaver连接Hive

前言

本文讲解如何通过数据库客户端界面工具DBeaver连接hive,并解决驱动下载不下来的问题。

1、为什么使用客户端界面工具

为什么使用客户端界面工具而不用命令行使用hive

  • 通过界面工具查看分析hive里的数据要方便很多
  • 业务人员没有权限通过命令行连接hive
  • 领导喜欢在界面工具上查看hive里的数据

2、为什么使用DBeaver

其实在网上搜一下,连接hive的工具还有很多,使用DBeaver的原因是因为我之前连接关系型数据库使用的就是DBeaver,正好DBeaver支持连接hive,且个人认为DBeaver确实挺好用的,支持各种关系型数据库,如连接Oracle数据库不需要像plsql那样自己配置连接文件,只需要在界面上输入url、用户名、密码即可。

3、DBeaver下载、安装

之前我一直用的旧版的,现在在官网上下载了最新版的DBeaver,发现界面功能比旧版好用了很多,亲测连hive没有问题。 下载地址:https://dbeaver.io/download/ 我下载的免安装版(不带jre),windows64位,大家可以根据自己情况下载对应版本。

因为我下载的免安装版,所以解压后,直接点击dbeaver.exe就可以使用了!

4、启动hive相关

测试连接前先启动hive相关的服务

1、启动hdfs、yarn

opt/hadoop-2.7.5/sbin/start-dfs.sh
/opt/hadoop-2.7.5/sbin/start-yarn.sh

2、启动hiveserver2(hive-0.11.0以后的版本) 如果想远程连接hive,则需要启动hiveserver2

/opt/apache-hive-2.3.2-bin/bin/hive --service hiveserver2

关于hadoop和hive的配置可以参考centos7 hadoop 单机模式安装配置centos7 hive 单机模式安装配置

  • 注:图中的startall.sh就是上面hdfs、yarn的启动命令

5、创建hive测试表

CREATE TABLE IF NOT EXISTS test_20180713 (id INT,name STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY " " LINES TERMINATED BY "\n";

insert into test_20180713 values(1,'tom');

6、DBeaver连接hive

DBeaver连接关系型数据库比较的简单,连接hive的话因为要配置下载驱动,所以这里详细说明一下。

6.1 文件->新建->数据库连接(新版是中文的,而之前旧版的是英文的,这点我还是比较喜欢的~)

6.2 选择新连接类型->Apache Hive(从这里看到,DBeaver支持的数据库还是很多的)

6.3 填一下hiveserver2的ip和hive的数据库名

6.4 编辑驱动设置-下载/更新(第一次打开需要下载maven的依赖配置,需等待一会)

这里需等待一会,截图太多,记不清楚是不是这个图了~

6.5 选择hive的版本,我这里的版本为2.3.2

到这里就有问题了,之前我在公司的测试机用ambari装的hive的版本是1.2.1,然后下载1.2.1需要的hive的jar包,很快就下载下来了,之后就可以查询hive里的数据了,但是在自己的虚拟机版本为2.3.2,2.3.2的jar就下不下来了

尝试将maven库改为阿里云的无效,且测试和DBeaver的版本无关,旧版和最新版的都下载不下来

7、用hive自带的jdbc jar

多次尝试依然解决不了驱动下载不下来的问题,只能尝试用hive安装包自带的jdbc jar了,幸好DBeaver和hive很好的支持了这种方法。hive帮我们集成了jdbc相关的一个jar包,这样我们就不用一个一个去lib下找相关的jar包了~ 首先将hive安装包里的jdbc包下载到本地,jar包位置:

/opt/apache-hive-2.3.2-bin/jdbc/hive-jdbc-2.3.2-standalone.jar

然后将DBeaver默认的jar删除,再添加上我们刚才下载的jar包,然后下一步,命名我们的连接。

8、测试连接

右键连接名->编辑连接->测试连接,然后发现报了一个异常

9、解决异常

但是在ambari安装的hive上测试这种方法是没有问题的,经过网上查询该异常,发现是我的hdfs配置问题,修改hdfs的core-site.xml即可 先关掉hdfs、yarn、hiveserver2服务

vim /opt/hadoop-2.7.5/etc/hadoop/core-site.xml

添加

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

然后重启hdfs、yarn、hiveserver2 具体可参考[Hive]那些年我们踩过的Hive坑里的第十个异常。

10、再次测试

再次测试连接,成功!

从这里可以看出DBeaver的界面功能还是挺丰富的,使用起来也比较方便

本文由 董可伦 发表于 伦少的博客 ,采用署名-非商业性使用-禁止演绎 3.0进行许可。

非商业转载请注明作者及出处。商业转载请联系作者本人。

本文标题:通过数据库客户端界面工具DBeaver连接Hive

本文链接:https://dongkelun.com/2018/07/13/dbeaverConnectHive/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vamei实验室

Java网络01 Tomcat初次尝试

Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Pa...

2079
来自专栏纯洁的微笑

springcloud(九):配置中心和消息总线

我们在springcloud(七):配置中心svn示例和refresh中讲到,如果需要客户端获取到最新的配置信息需要执行 refresh,我们可以利用webho...

39812
来自专栏FreeBuf

国产漏洞靶场Webug 3.0发布

Webug名称定义为“我们的漏洞”靶场环境,基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。...

38510
来自专栏数据和云

我们都被骗了,所有的跨平台迁移都可以通过XTTS实现

自从2015年初进行了xtts增量的U2L迁移测试之后,国内很多人都开始利用这种方案进行数据库跨平台迁移了,基本上都是利用Oracle 封装的perl脚本。其中...

3255
来自专栏君赏技术博客

我的自动化构建之路之 Jenkins+Fastlane+Github内网测试

可能看到这一篇文章很多人认为 Jenkins就可以实现自动化打包,并且 Fastlane配置 完毕之后打包更加的轻松。干嘛还搞在一起,这不是重复了吗。

2272
来自专栏运维技术迷

试试Linux下的ip命令

linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是...

4255
来自专栏企鹅号快讯

代码注入技术Process Doppelgänging利用介绍

0x00 前言 在最近的BlackHat Europe 2017,Tal Liberman和Eugene Kogan介绍了一种新的代码注入技术——Process...

2729
来自专栏轻扬小栈

XP下SQL2000的安装(ZZ)

1533
来自专栏我是攻城师

如何利用Guava实现方法调用超时自动中断

3577
来自专栏逸鹏说道

探索ASP.NET MVC5系列之~~~5.Session篇(进程外Session)

其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/d...

3515

扫码关注云+社区

领取腾讯云代金券