我们登陆hive shell 写复杂的长的sql语句不是很方便,没有格式化拷贝粘贴等常用操作,查询结果也不是很直观,时我们可以使用第三方的客户端连接hive进行操作,于是我们使用支持hive的数据库客户端界面工具dbeaver,本文我们使用其连接上面文章搭建好的hive数据仓库服务。
一、环境准备
1.hadoop集群
2.hive元数据存储服务
3.hive数据仓库服务
4.dbeaver客户端工具
二、实践准备
1.启动hadoop集群
在主节点上启动hadoop集群start-all.sh

2.启动元数据库服务
登陆元数据库服务所在主机,启动mysql服务service mysql start
3.启动hiveserver2服务
在hive机器上启动hiveserver服务:hive --service hiveserver2 或者hive --service hiveserver2 &

4.启动Hive Metastore服务
在hive机器上启动Hive Metastore服务:hive --service metastore或者hive --service metastore &

看到如下信息,说明启动完成:
5.验证启动
在终端输入jps -ml查看:

可以看到hadoop集群个hive服务启动都正常
三、连接配置
1.新建连接
打开dbeaver工具,点击文件——新建

在新建向导点击选择dbeaver—数据库连接

在数据库连接选择界面,点击选择hadoop—Apache Hive

2.配置连接信息
在此处填写连接hive服务的信息,注意端口号是hive服务的10000,不是元数据库3306

点击下一步,此时会自动下载hive的启动程序

下一步网络配置我们默认就好,直接下一步

这一步没有特殊需求也默认配置,直接finish就可以了

3.完成配置
经过以上的新建连接和配置连接,完成后就成功连接到hive了

四、简单验证使用
我们使用dbeaver的sql编辑窗口编写sql语句测试几个查询操作
show tables

SELECT * FROM tb_user WHERE id > 0

SELECT name FROM tb_user UNION ALL SELECT name FROM tb_user_hdfs

我们这时候打开hive的webui服务,可以看到我们的连接记录、查询操作记录等


五、总结
本文通过配置使用dbeaver连接hive服务,并且使用该工具进行了一些基本的查询 操作,可以看出和我们去操作数据库没什么区别,但是其实底层是不一样的,hive查询底层是转换成mapreduce任务去操作的,在后面的深入文章中我们会详细研究下其原理。