Hive JDBC

Hive远程模式搭建好之后,可以使用Beeline客户端或JDBC远程访问Hive了

启动HiveServer2服务

bash 复制代码
$ hive --service hiveserver2 &

新建Java Maven项目,在pom.xml中添加以下依赖

XML 复制代码
    <dependencies>
        <dependency>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
            <version>1.8</version>
            <scope>system</scope>
            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-mapreduce -->
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>2.3.9</version>
        </dependency>

    </dependencies>

编写JDBC程序

主要分五个步骤:

1.加载JDBC驱动

使用Class.forName()加载JDBC驱动

2.获取连接

使用DriverManager驱动管理类获取Hive连接

3.执行查询

通过Statement对象的executeQuery()方法执行查询命令

4.处理结果集

通过ResultSet对象获取返回的结果。ResultSet是JDBC用于装载返回数据的类。

5.关闭连接

关闭连接,释放资源

java 复制代码
package org.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * Hive JDBC 测试类
 */
public class HiveJDBCTest {
    public static void main(String[] args) throws Exception{
        // 驱动名称
        String driver = "org.apache.hive.jdbc.HiveDriver";
        // 连接地址,默认使用端口10000
        String url = "jdbc:hive2://192.168.153.133:10000/test_db";
        // 用户名(Hadoop集群的登录用户)
        String username = "hadoop";
        // 密码
        String password = "";
        // 1.接在JDBC裙动
        Class.forName(driver);
        // 2.获取连接
        Connection conn = DriverManager.getConnection(url, username, password);
        Statement stmt = conn.createStatement();
        // 3.执行查询
        ResultSet res = stmt.executeQuery("select * from t_user");
        // 4.处理结果
        while(res.next()){
            System.out.println(res.getInt(1) + "\t" + res.getString(2));
        }
        // 5.关闭连接
        res.close();
        stmt.close();
        conn.close();
    }
}
相关推荐
Nefu_lyh10 小时前
【Hive】七、Hive 函数:聚合 / 统计 / 分位数 / 集合 / 高级分组
数据仓库·hive·hadoop
阿 才10 小时前
跟文件系统(busybox)的构建
大数据·hadoop·分布式
KANGBboy12 小时前
hive UDF函数
数据仓库·hive·hadoop
暴躁小师兄数据学院1 天前
【AI大数据工程师特训笔记】第15讲:大数据环境安装
大数据·hadoop·flink·spark
王小王-1232 天前
基于 Hadoop + Flask 的电动汽车数据分析与可视化系统设计与实现
hadoop·数据分析·flask·电动汽车·新能源汽车数据分析·新能源汽车销量分析·新能源汽车销售分析
云器科技2 天前
螳螂科技:从组装到统一,如何用云器 Lakehouse 完美替代“MC+DW+ADB”三件套?
数据库·数据仓库·人工智能
王小王-1232 天前
基于机器学习与Hadoop的心脏病数据分析与可视化设计与实现
hadoop·机器学习·数据分析·心脏病预测
知识分享小能手2 天前
Hadoop学习教程,从入门到精通, Hadoop 3.x 高可用集群 — 知识点详解(6)
大数据·hadoop·学习
王小王-1232 天前
基于商品评价的评论情感分析与可视化系统
hive·情感分析·商品评价分析·主题分析·商品评论分析
知识分享小能手3 天前
Hadoop学习教程,从入门到精通, ZooKeeper 分布式协调服务 — 全面知识点与案例代码(5)
hadoop·分布式·zookeeper