hive jdbc 访问 配置_通过JDBC连接HiveServer2

本文介绍了如何通过 JDBC 访问 HiveServer2,包括配置、URL格式、Maven依赖和开发步骤。详细讲解了远程、内嵌和HTTP模式下的JDBC连接URL,并提供了加载驱动、创建Connection和执行查询的示例代码。
摘要由CSDN通过智能技术生成

Hive 版本:2.3.7

1. 配置

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

2. URL格式

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

  • 远程模式下 Url 格式为 jdbc:hive2://:/,默认情况下 HiveServer2 的端口为 10000。

  • 内嵌模式下 Url 格式为 jdbc:hive2://,不需要提供主机与端口号。

  • 如果 HiveServer2 以 http 模式运行,Url 格式为 jdbc:hive2://:/? hive.server2.transport.mode=http;hive.server2.thrift.http.path=

     在 hive-site.xml 配置文件中进行配置,默认值为 cliservice。HTTP 传输模式的默认端口为 10001。

3. Maven 依赖

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

    org.apache.hive    hive-jdbc    2.3.7

4. 开发

第一步加载 JDBC 驱动类:

Class.forName("org.apache.hive.jdbc.HiveDriver");

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

Connection conn = DriverManager.getConnection("jdbc:hive2://:/","","");

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

Connection conn = DriverManager.getConnection("jdbc:hive2://127.0.0.1:10000/default","hadoop","");

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

Statement stmt = conn.createStatement(); ResultSet resultSet = stmt.executeQuery("SELECT * FROM tmp_table");

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

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 数据类型之间的映射关系:

abe92a8be24169e0827337d9810fcb6d.png

欢迎关注我的公众号和博客:

6599d267baad53384fdf96c7ab99b6b5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值