java链接hive数据库实现增删改查操作

简介: java链接hive数据库实现增删改查操作

要在Java中连接Hive数据库并实现增删改查操作,需要使用Hive JDBC驱动程序。

首先,确保已经安装了Hive,并且Hadoop集群正在运行。

然后,根据Hive版本下载相应的Hive JDBC驱动程序。可以从Apache Hive官方网站下载。

接下来,编写Java代码来连接Hive数据库和执行增删改查操作。

以下是一个示例代码:

import java.sql.*;

public class HiveExample {
   

  public static void main(String[] args) {
   
    try {
   
      // 连接Hive数据库
      Class.forName("org.apache.hive.jdbc.HiveDriver");
      Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "", "");

      // 创建Statement
      Statement stmt = con.createStatement();

      // 创建表
      String createTableQuery = "CREATE TABLE IF NOT EXISTS employee (id int, name string, age int) row format delimited fields terminated by ',' stored as textfile";
      stmt.execute(createTableQuery);

      // 插入数据
      String insertQuery = "INSERT INTO employee VALUES (1, 'John', 25)";
      stmt.executeUpdate(insertQuery);

      // 查询数据
      String selectQuery = "SELECT * FROM employee";
      ResultSet rs = stmt.executeQuery(selectQuery);
      while (rs.next()) {
   
        System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getInt("age"));
      }

      // 更新数据
      String updateQuery = "UPDATE employee SET age = 30 WHERE id = 1";
      stmt.executeUpdate(updateQuery);

      // 删除数据
      String deleteQuery = "DELETE FROM employee WHERE id = 1";
      stmt.executeUpdate(deleteQuery);

      con.close();
    } catch (Exception e) {
   
      e.printStackTrace();
    }
  }
}

此示例代码中,首先使用Class.forName方法加载Hive驱动程序,并使用DriverManager.getConnection方法连接Hive数据库。

然后,创建Statement对象,并使用execute方法执行DDL语句创建表。

接下来,使用executeUpdate方法执行DML语句插入、更新和删除数据。

最后,使用executeQuery方法执行查询语句,并使用ResultSet对象遍历结果集并输出查询结果。

请注意,此示例代码中的连接字符串jdbc:hive2://localhost:10000/default可以根据实际情况进行更改,以匹配Hive服务器的主机和端口。

另外,还可以在连接字符串中提供用户名和密码以进行身份验证,例如:jdbc:hive2://localhost:10000/default;user=admin;password=123456

相关文章
|
9月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
292 0
Android常用的room增删改查语句(外部数据库)
|
9月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
276 5
|
9月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
811 77
|
9月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
10月前
|
Oracle 关系型数据库 Linux
YashanDB异构数据库链接配置
本指南介绍在YashanDB中配置异构数据库链接(DBLINK)的方法,特别是连接至Oracle数据库的前置要求与步骤。需确保YashanDB服务端安装plugin插件包、Oracle Instant Client及libaio库,否则可能导致错误或进程崩溃。文档还提供了Oracle Instant Client和libaio库的具体安装指导,帮助管理员顺利完成配置。
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
465 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
615 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
505 13
|
JavaScript 前端开发 测试技术
[新手入门]todolist增删改查:vue3+ts版本!
【10月更文挑战第15天】[新手入门]todolist增删改查:vue3+ts版本!