>>>在eclipse中使用JDBC连接Hive前需要开启Hive监听用户链接
hive/bin/ext$ hive --service hiveserver
>>>配置eclipse环境
在pom.xml中添加hive包依赖
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <hadoop.version>2.5.0</hadoop.version> <hive.version>0.13.1</hive.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>${hive.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>${hive.version}</version> </dependency>
>>>示例代码:
package com.fb.hadoop.hive; import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveJdbcClient { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { //注册JDBC try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } //创建连接 Connection con = DriverManager.getConnection("jdbc:hive://master:10000/default", "root", "gsdjsj"); Statement stmt = con.createStatement(); String tableName = "user2"; stmt.executeQuery("drop table " + tableName); ResultSet res = stmt.executeQuery("create table " + tableName + " (name string,age int,sex string,phone string)" +"ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'" +"STORED AS TEXTFILE"); // show tables String sql = "show tables '" + tableName + "'"; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); if (res.next()) { System.out.println(res.getString(1)); } // describe table sql = "describe " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1) + "\t" + res.getString(2)); } // load data into table // NOTE: filepath has to be local to the hive server // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line String filepath = "/opt/data/user.txt"; sql = "load data local inpath '" + filepath + "' into table " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); // select * query sql = "select * from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(String.valueOf(res.getString(1)) + "\t" + res.getInt(2)); } // regular hive query sql = "select count(1) from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); } } }
相关推荐
1. **Hive JDBC接口**:Hive JDBC提供了一个标准的Java API,使得开发者能够在任何支持JDBC的应用程序中与Hive进行交互。这包括Java应用程序、Web应用、BI工具等。通过这个接口,你可以执行SQL查询,管理表,加载...
总结来说,Hive JDBC是一个重要的工具,它让开发者能使用熟悉的SQL语言和JDBC接口与Hive进行交互,极大地拓宽了Hive的应用场景。正确理解和使用Hive JDBC,对于开发和维护基于Hadoop的数据处理系统至关重要。
它允许程序通过标准的JDBC接口查询和操作Hive中的数据。在使用Hive JDBC进行连接时,需要依赖一系列的jar包来确保所有必要的功能得以实现。下面将详细介绍这些jar包以及它们在Hive JDBC连接中的作用。 首先,`hive...
- **兼容性**:Hive JDBC驱动提供了标准的接口,使得不同的编程语言可以轻松地连接到Hive。 2. **Hive 2.5.15的关键特性** - **性能提升**:这个版本可能包含了一些性能优化,例如查询执行速度更快,内存管理更...
Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...
Hive JDBC 1.1.0版本是这个驱动的一个特定迭代,提供了对Hive查询、数据操作和管理功能的接口。在本篇中,我们将深入探讨Hive JDBC驱动的相关知识点,以及如何在实际项目中动态加载和使用这些jar包。 首先,理解...
Hive JDBC驱动是Hive与各种数据库管理工具、应用程序之间建立连接的关键组件,使得用户可以通过标准的JDBC接口来访问和操作Hive中的数据。 标题中的"**hive-jdbc-uber-2.6.5.0-292.jar**"是一个Uber(也称为Shaded...
1. **hive-jdbc.jar**:这是核心的Hive JDBC驱动程序,包含了实现JDBC接口的类和方法,使得Java应用能够与Hive通信。你需要将这个JAR包添加到你的项目的类路径(classpath)中。 2. **lib/*.jar**:Hive JDBC可能...
Hive JDBC是Hive与SQL兼容的数据库访问接口,它遵循JDBC规范,允许任何支持JDBC的编程语言(如Java、Python等)连接到Hive服务器,执行查询并获取结果。Hive JDBC提供了诸如建立连接、发送SQL语句、处理结果集等功能...
而Hive JDBC(Java Database Connectivity)是Hive与外部应用交互的重要接口,它允许Java应用程序或者其他支持JDBC的工具连接到Hive服务器,执行Hive查询并获取结果。 标题"hive-jdbc所需jar(精简可用)"表明这个...
Hive驱动包通常包含`org.apache.hive.jdbc.HiveDriver`和其他相关类,这些类实现了JDBC接口,使得Java程序可以调用Hive服务。 在压缩包子文件的文件名称列表中,只提到了“hive驱动包”,这可能表示压缩包内只有一...
1. **hive-jdbc-1.2.1.jar**:这是Hive JDBC的主要驱动程序,实现了JDBC接口,使得Java代码能够与Hive Server通信。 2. **hadoop-common-2.6.4.jar**:包含了Hadoop的公共库,为Hive JDBC提供Hadoop相关的功能。 3...
总之,Hive JDBC 1.1.0-cdh5.12.1连接库是CDH环境下与Hive交互的重要桥梁,提供了标准的JDBC接口,简化了客户端与Hive服务器之间的通信,使得数据处理更加便捷高效。无论是数据分析、报表生成还是数据集成,Hive ...
2. **连接管理**:提供连接到Hive服务器的接口,包括建立、配置、管理和关闭连接。 3. **元数据获取**:允许用户获取数据库、表、列等元数据信息。 4. **批处理**:支持批量执行SQL语句,提高执行效率。 5. **事务...
Hive-JDBC是Hive提供的一个客户端接口,允许Java应用程序通过JDBC连接到Hive服务器,执行SQL查询并获取结果。它为Hive提供了标准的数据库访问方式,使得开发者能够像操作关系型数据库一样操作Hive。 ### 2. ...
1. **Hive JDBC接口**:Hive JDBC是基于JDBC标准实现的一个接口,允许Java应用程序通过标准的JDBC API与Hive进行通信。这使得开发者可以使用熟悉的JDBC编程模型来操作Hive,无需了解Hive的底层细节。 2. **Hive ...
而Hive JDBC是连接Hive与各种客户端应用程序的桥梁,使得用户可以通过标准的JDBC接口来操作Hive。这里我们关注的是"Hive-jdbc-uber-3.1.2",这是一个包含所有依赖的Uber jar包,旨在简化部署和使用流程。 Hive JDBC...
它提供了标准的JDBC接口,使得任何支持JDBC的应用程序,如Java应用或BI工具,都可以方便地连接到Hive执行SQL查询。"hive-jdbc-jar-多版本.zip"是一个压缩包,包含了不同版本的Hive JDBC Uber Jars,覆盖了从1.5到1.8...
1. **Hive JDBC接口**:Hive JDBC提供了一个标准的JDBC接口,使得Java开发者可以使用已熟悉的JDBC API来执行HQL查询,创建、修改和删除Hive表等操作。这使得开发人员能够在不直接接触Hadoop或Hive命令行的情况下进行...
Hive JDBC Uber Driver,即“hive-jdbc-uber-2.6.3.0-292.jar”,是Apache Hive提供的一种集成型JDBC驱动,它使得Java应用程序能够通过标准的JDBC接口与Hive服务器进行通信,实现数据查询、操作和管理。这个特定版本...