我们登陆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任务去操作的,在后面的深入文章中我们会详细研究下其原理。