温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1
文章编写目的
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
2.将下载的Hive JDBC Driver驱动包解压到本地目录
将ClouderaHiveJDBC41-2.6.2.1002解压得到HiveJDBC41.jar驱动包,该驱动包包含了HiveJDBC驱动的依赖包。
3.打开SQuirreL在Drivers列表页面点击添加Hive Driver
点击“+”添加Hive Driver
添加Hive JDBC的驱动包,将上一步下载的Cloudera Hive JDBC驱动包导入
点击“List Drivers”按钮,自动查找驱动包中的驱动类
4.点击“OK”,完成Hive Driver注册
3
SQuirreL访问Hive测试
在上一步完成了Hive Driver的注册,那么接下来就测试访问Hive库。
1.在SQuirreL客户端界面上点击”Aliases”
2.点击“+”添加一个新的数据库连接,输入连接名称、选择注册的Hive驱动
输入用户名和密码(Fayson这里的Hive访问集成了AD所以需要输入)
URL: jdbc:hive2://cdh2.fayson.com:10000;AuthMech=3
3.点击“Test”进行测试
访问成功
4.点击“OK”完成连接创建
5.点击“Connect”连接CDH的Hive库,如下显示为连接成功
6.执行SQL语句进行查询操作
其它更多功能大家去使用吧,这里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还暂未做验证,如上参数仅供参考。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。