我一直有个习惯,能用可视化工具操作的服务绝不用命令行,一是命令行需要大量机械化记忆,久了不用容易忘,二是使用工具有很多快捷的操作,可以提高工作效率。上篇文章介绍了怎么配置Hive服务,这节课我们就介绍下怎么使用可视化管理工具DBeaver连接Hive。

    DBeaver的优点:

    1、除了支持Hive,还支持各种关系型数据库,如连接Oracle数据库不需要像plsql那样自己配置连接文件,只需要在界面上输入url、用户名、密码即可

    2、操作方便,可以使用各种快捷键操作数据,还有智能提示。

    一、首先我们去DBeaver官网下载工具,https://dbeaver.io/download/,这里我们下载windows的lite版,目前最新版本是21.0.3,支持中文

grafan进行可视化展示hive hive可视化客户端_grafan进行可视化展示hive

我们下载的是zip压缩包,我们把压缩包解压

grafan进行可视化展示hive hive可视化客户端_hive_02

三、启动hdfs yarn等相关服务

grafan进行可视化展示hive hive可视化客户端_grafan进行可视化展示hive_03

四、启动hive,这里我们要启动server2模式

/software/apache-hive-3.1.1-bin/bin/hive --service hiveserver2

出现下面的界面就启动好了

grafan进行可视化展示hive hive可视化客户端_grafan进行可视化展示hive_04

五、建立连接,我们点 文件=》新建,弹出对话框

grafan进行可视化展示hive hive可视化客户端_mapreduce_05

我们双击数据库连接

grafan进行可视化展示hive hive可视化客户端_hadoop_06

然后选择 Hadoop/BigData,在右侧我们选择Apache Hive,点击下一步

grafan进行可视化展示hive hive可视化客户端_grafan进行可视化展示hive_07

在新对话框,填写主机和模式,这里我的hive服务是在集群主节点master105上

grafan进行可视化展示hive hive可视化客户端_hadoop_08

我们选择建立的连接 会提示我们下载驱动文件,等驱动下载好

grafan进行可视化展示hive hive可视化客户端_hdfs_09

驱动下好后,我们双击左侧新建的连接,发现报错,提示如下

java.sql.SQLException: Could not establish connection to jdbc:hive2://localhost:10000: Required field 'serverProtocolVersion' is unset!

经过查找资料,我们需要修改hadoop的配置文件core-site.xml,我们加入下面2个属性配置

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

改完配置,我们需要停止hadoop的服务和hive,重启一遍,然后点击测试,提示已连接,并且给出了hive的版本号,以及相应驱动文件的版本号

grafan进行可视化展示hive hive可视化客户端_hive_10

我们展开连接,可以看到hive的所有库,hivetest是我们上节课 大数据分析学习第七课 数据仓库HIVE基础学习 建立的测试库hivetest

grafan进行可视化展示hive hive可视化客户端_hive_11

我们打开hivetest库,里面就是我们上次建的表和数据

grafan进行可视化展示hive hive可视化客户端_mapreduce_12

到这里工具我们就配置好了

接下来我手动添加5条数据 张三(3条) 李四(2条)

grafan进行可视化展示hive hive可视化客户端_hdfs_13

我们首先看下hadoop的任务管理,可以看到插入语句也被提交到hadoop做MR计算了

grafan进行可视化展示hive hive可视化客户端_mapreduce_14

同时,我们在hive的启动终端可以看到输出信息

grafan进行可视化展示hive hive可视化客户端_hadoop_15

我们右键hivetest 在弹出框选择SQL编辑器,打开sql编辑界面

grafan进行可视化展示hive hive可视化客户端_mapreduce_16

我们在编辑器里写一条按名字统计数量的hive sql

SELECT COUNT(1) Num , name FROM hivetest.hive_0416 group by name;

同时观察MR任务 application_1619179391433_0009

grafan进行可视化展示hive hive可视化客户端_hadoop_17

还有终端hive shell 输出信息 application_1619179391433_0009

grafan进行可视化展示hive hive可视化客户端_hadoop_18

任务执行成功后,我们在sql编辑器界面也能看到结果

grafan进行可视化展示hive hive可视化客户端_hdfs_19

这里我们就见证了HiveSql的特点,我在上节课也介绍过:

1、Hive不是分布式计算框架,Hive的核心工作就是把sql语句翻译成MR程序去执行,不用我们再手动去写MapReduce了。

2、Hive不提供资源调度系统,默认由Hadoop集群中的YARN集群来调度。

3、Hive可以将结构化的数据映射为一张数据库表,并提供HQL(HiveSQL)查询功能。

4、Hive的语法非常类似于我们的MySQL语句,所以上起手来特别容易。