前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive通过Jdbc连接HiveServer2

Hive通过Jdbc连接HiveServer2

作者头像
smartsi
发布2020-09-15 09:42:07
7.2K0
发布2020-09-15 09:42:07
举报
文章被收录于专栏:SmartSi

Hive 版本:2.3.7

1. 配置

如果想通过 JDBC 来访问 HiveServer2,需要开启 HiveServer2 服务,具体请参阅 如何启动HiveServer2

2. URL格式

JDBC客户端允许使用 Java 代码连接到 HiveServer2。可以在远程,嵌入式或 HTTP 模式下建立 JDBC 连接。以下是不同模式的配置:

  • 远程模式下 Url 格式为 jdbc:hive2://<host>:<port>/<database>,默认情况下 HiveServer2 的端口为 10000。
  • 内嵌模式下 Url 格式为 jdbc:hive2://,不需要提供主机与端口号。
  • 如果 HiveServer2 以 http 模式运行,Url 格式为 jdbc:hive2://<host>:<port>/<db>? hive.server2.transport.mode=http;hive.server2.thrift.http.path= <http_endpoint>, 在 hive-site.xml 配置文件中进行配置,默认值为 cliservice。HTTP 传输模式的默认端口为 10001。

3. Maven 依赖

如果你使用的是 Maven,需要在 pom.xml 中添加以下依赖项:

代码语言:javascript
复制
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>2.3.7</version>
</dependency>

4. 开发

第一步加载 JDBC 驱动类:

代码语言:javascript
复制
Class.forName("org.apache.hive.jdbc.HiveDriver");

第二步通过使用 JDBC 驱动创建 Connection 对象来连接到数据库:

代码语言:javascript
复制
Connection conn = DriverManager.getConnection("jdbc:hive2://<host>:<port>/<database>","<user>","<password>");

默认情况下端口为 10000,如果 HiveServer2 在非安全环境中运行,密码可以忽略不写:

代码语言:javascript
复制
Connection conn = DriverManager.getConnection("jdbc:hive2://127.0.0.1:10000/default","hadoop","");

第三步通过执行如下代码来执行查询:

代码语言:javascript
复制
Statement	stmt	=	conn.createStatement();
ResultSet	resultSet	=	stmt.executeQuery("SELECT	*	FROM tmp_table");

最后一步处理 ResultSet 返回的结果:

代码语言:javascript
复制
int columns= resultSet.getMetaData().getColumnCount();
int rowIndex = 1;
while (resultSet.next()) {
    for(int i = 1;i <= columns; i++) {
        System.out.println("RowIndex: " + rowIndex + ", ColumnIndex: " + i + ", ColumnValue: " + resultSet.getString(i));
    }
}

详细代码请参阅:JdbcExample

5. JDBC数据类型

下表为 HiveServer2 列出了 Hive数据类型与 Java 数据类型之间的映射关系:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 配置
  • 2. URL格式
  • 3. Maven 依赖
  • 4. 开发
  • 5. JDBC数据类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档