温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


文章编写目的

Fayson在前面的《0459-如何使用SQuirreL通过JDBC连接CDH的Hive(方式一)》简单的介绍了SQuirreL SQL Client的安装、注册Hive Driver以及使用。前一篇文章中使用的JDBC驱动是Hive默认的,本篇文章Fayson使用Cloudera官网提供的Hive JDBC驱动注册访问。

  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

3.Window Server 2012R2

4.SQuirreL3.9.0

2

SQuirreL添加Hive驱动

在使用SQuirreL访问Hive前,需要在先注册Hive的驱动,那接下来就先准备Hive JDBC驱动包,Fayson使用的Maven方式将驱动及依赖导出。

1.在Cloudera的官网下载Hive JDBC驱动包,地址如下:

https://www.cloudera.com/downloads/connectors/hive/jdbc/2-6-2.html

cdh 调整 hive parquet cdh连接hive_cdh 调整 hive parquet

2.将下载的Hive JDBC Driver驱动包解压到本地目录

cdh 调整 hive parquet cdh连接hive_hive_02

将ClouderaHiveJDBC41-2.6.2.1002解压得到HiveJDBC41.jar驱动包,该驱动包包含了HiveJDBC驱动的依赖包。

3.打开SQuirreL在Drivers列表页面点击添加Hive Driver

cdh 调整 hive parquet cdh连接hive_hive_03

点击“+”添加Hive Driver

cdh 调整 hive parquet cdh连接hive_Hive_04

添加Hive JDBC的驱动包,将上一步下载的Cloudera Hive JDBC驱动包导入

cdh 调整 hive parquet cdh连接hive_cdh 调整 hive parquet_05

点击“List Drivers”按钮,自动查找驱动包中的驱动类

cdh 调整 hive parquet cdh连接hive_bc_06

4.点击“OK”,完成Hive Driver注册

cdh 调整 hive parquet cdh连接hive_cdh 调整 hive parquet_07

3

SQuirreL访问Hive测试

在上一步完成了Hive Driver的注册,那么接下来就测试访问Hive库。

1.在SQuirreL客户端界面上点击”Aliases”

cdh 调整 hive parquet cdh连接hive_hive_08

2.点击“+”添加一个新的数据库连接,输入连接名称、选择注册的Hive驱动

cdh 调整 hive parquet cdh连接hive_bc_09

输入用户名和密码(Fayson这里的Hive访问集成了AD所以需要输入)

URL: jdbc:hive2://cdh2.fayson.com:10000;AuthMech=3

cdh 调整 hive parquet cdh连接hive_Hive_10

3.点击“Test”进行测试

cdh 调整 hive parquet cdh连接hive_Hive_11

访问成功

cdh 调整 hive parquet cdh连接hive_cdh 调整 hive parquet_12

4.点击“OK”完成连接创建

cdh 调整 hive parquet cdh连接hive_bc_13

5.点击“Connect”连接CDH的Hive库,如下显示为连接成功

cdh 调整 hive parquet cdh连接hive_Hive_14

6.执行SQL语句进行查询操作

cdh 调整 hive parquet cdh连接hive_cdh 调整 hive parquet_15

其它更多功能大家去使用吧,这里Fayson就不在做过多的介绍了。

4

总结

Cloudera提供的Hive JDBC驱动与Hive原生的驱动类有些区别,驱动类需要指定为“com.cloudera.hive.jdbc41.HS2Driver”。使用Cloudera提供的驱动包不需要考虑驱动包依赖的问题,默认的将Hive驱动所依赖的包都打包在里面。

Cloudera官网提供的Hive JDBC驱动包支持非安全模式认证、安全模式认证(LDAP、Kerberos)等。在驱动包提供的pdf文档中介绍了各种认证方式的URL写法,大家可以参考PDF中的使用指南访问不同环境下的Hive。

PDF文档中提到了使用transportMode和HttpPath的访问方式,HiveServer2服务默认提供基于TCP的访问模式,可以通过配置HiveServer2服务的如下参数启用HTTP模式:

hive.server2.transport.mode=http
hive.server2.thrift.http.port=10001
hive.server2.thrift.http.path=cliservice

使用Http方式访问HiveServer2的方式,Fayson还暂未做验证,如上参数仅供参考。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。