前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析EPHS(3)-来试试Hive的可视化吧~

数据分析EPHS(3)-来试试Hive的可视化吧~

作者头像
石晓文
修改2019-07-12 17:30:24
7400
修改2019-07-12 17:30:24
举报
文章被收录于专栏:小小挖掘机

1、配置hive-site.xml

说到可视化,其实就是通过一个客户端实现远程登录,并进行相关的操作。

这里需要使用hive中的HiveServer2服务,使用该服务相当于在hive的机器上启动一个server,而客户端可以通过ip + port的方式对其进行访问,然后,就可以通过客户端来实现我们可视化的需求。

所以,咱们先来配置一下ip和port,当然还有用户名和密码。打开hive-site.xml文件,修改下面几项:

设置访问ip,这里你可以自己设置相应的ip:

代码语言:javascript
复制
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>192.168.0.107</value>
    <description>Bind host on which to run the HiveServer2 Thrift service.</description>
  </property>

设置访问端口,一般设置为10000:

代码语言:javascript
复制
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
  </property>

设置访问用户名和密码:

代码语言:javascript
复制
<property>
    <name>hive.server2.thrift.client.user</name>
    <value>sxw</value>
    <description>Username to use against thrift client</description>
  </property>
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>0845</value>
    <description>Password to use against thrift client</description>
  </property>

这样,通过客户端链接hive的地址就确定了:

代码语言:javascript
复制
jdbc:hive2://192.168.0.107:10000/

2、启动hiveserver2服务并验证

配置好之后,咱们首先启动hiveserver2服务,打开两个终端,并切换到hive安装路径下的bin路径下面,第一个终端下执行:

代码语言:javascript
复制
hive --service metastore &

然后,在第二个终端下执行(有没有nohup都行):

代码语言:javascript
复制
nohup hive --service hiveserver2 &

来验证一下我们的服务有没有启动,分三步走:

1)使用jps命令查看进程:

2)检查10000端口:

在Mac上使用如下命令:

代码语言:javascript
复制
 lsof -i tcp:10000

看到如下:

这个地方一定要注意检查,因为我就是在这个地方卡了好久,总是连接不上,原因就是这里我有另一个进程也是10000端口,一定要把这个多于的进程干掉:

3)使用自带的beeline验证连接是否成功

启动一个新的终端并切换到hive安装路径下的bin路径下面,输入beeline:

这里也许你会看到一堆乱七八糟的输出:

这是因为slf4j的包冲突了,并不影响,如果不想看到的话,把hive安装路径下lib目录中的jar包删掉就行了:

好了,回到正题,在beeline中输入:

代码语言:javascript
复制
 !connect jdbc:hive2://192.168.0.107:10000/

接下来输入用户名和密码,正常情况下,你会看到报错:

这里你就需要去修改hadoop里面的配置文件core-site.xml,添加:

代码语言:javascript
复制
<property>
    <name>hadoop.proxyuser.meituan_sxw.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.meituan_sxw.groups</name>
    <value>*</value>
</property>

其中,这里hadoop.proxyuser.meituan_sxw.hosts中的meituan_sxw是你需要修改的的,因为你看报错中也是说的User: meituan_sxw is not allowed to impersonate。

修改之后,需要重启hadoop服务,以及hiveserver2。此时再来验证一下:

连接成功!

3、使用DBVisualizer客户端链接Hive

接下来,我们就要使用客户端来链接hive了,这里我们使用DBVisualizer。

先下载两个东西:

第一个是客户端安装包:https://www.dbvis.com 第二个是驱动jar包:https://github.com/timveil/hive-jdbc-uber-jar/releases/tag/v1.0-2.4.0

安装DBVisualizer客户端。安装成功后,按照如下的步骤链接hive:

1)打开DbVisualizer 偏好设置 (“DbVisualizer” > “Preferences”),添加如下语句后,重启DbVisualizer。

代码语言:javascript
复制
-Dsun.security.krb5.debug=true
-Djavax.security.auth.useSubjectCredsOnly=false

如图所示:

2)在管理器对话框点击“Tools”> “Driver Manager…”,点击HIVE。在“Driver File Paths”中将之前下载的“hive jdbc jar”包导入。

3)创建新连接,点击“Database”> “Create Database Connection”

配置好之后,点击connect进行链接,连接成功:

4、编写Sql进行测试

但现在我们的hive表里面什么东西都是没有的,先通过spark导入数据进去,相关的代码查看咱们第二篇的文章:数据分析EPHS(2)-SparkSQL中的DataFrame创建

当我们创建iris表并导入数据后,可以看到客户端这里也同步了:

可以查看数据:

编写sql语句,首先点击上方的绿色三角,接下来编写一条hive sql语句并执行:

成功执行!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、配置hive-site.xml
  • 2、启动hiveserver2服务并验证
  • 3、使用DBVisualizer客户端链接Hive
  • 4、编写Sql进行测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档