启动Hive远程服务接口:
bin/hive --service hiveserver
测试代码如下:
package com.hadoop.hive;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class HiveJdbcClient {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive://10.2.136.22:10000/default", "", "");
Statement stmt = con.createStatement();
String tableName = "testHiveDriverTable";
stmt.executeQuery("drop table " + tableName);
ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");
// 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 = "/tmp/a.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.getInt(1)) + "\t" + res.getString(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驱动通常包含在Hive的lib目录下,或者可以从Apache官方网站下载。确保获取的是与你的Hive版本兼容的JDBC驱动。 2. **配置JDBC连接参数**:为了连接Hive,我们需要知道以下信息...
2. **hive-jdbc.jar**:提供Hive的JDBC驱动,使你能通过JDBC接口连接到Hive服务器。 3. **libthrift.jar**:Thrift库,Hive使用的RPC框架,用于跨语言通信。 4. **hadoop-common.jar** 和 **hadoop-hdfs.jar**:...
Hive JDBC(Java Database Connectivity)是Hive提供的一种接口,使得其他编程语言,如Java,能够通过JDBC驱动程序与Hive进行交互,实现数据查询、分析和操作。本教程将深入讲解如何使用Hive JDBC在Java项目中建立与...
HiveJDBC是Hive提供的一种JDBC驱动,使得任何支持JDBC的应用程序,如Java,都能连接到Hive服务器,执行查询和操作Hive中的数据。在这个实例中,我们将使用它来连接到运行MySQL作为元数据存储的Hive服务。 2. **...
描述中提到的问题是用户在使用DataGrip尝试连接Hive数据库时遇到困难,但通过这个特定版本的Hive JDBC驱动程序可以成功建立连接。这暗示可能存在兼容性问题,或者是DataGrip内置的默认驱动与某些Hive实例不匹配,而...
本文将通过一个具体的Java与Hive结合的实例,深入讲解如何利用Java API进行Hive的操作,以加深对Hive语句的理解。 首先,要使用Java与Hive交互,我们需要引入Hive的JDBC驱动。在项目中,可以通过Maven或Gradle添加...
6. **数据库连接**:通过JDBC驱动建立Hive连接的基本步骤包括:(1) 创建`java.sql.DriverManager`实例;(2) 调用`DriverManager.getConnection()`方法,传入Hive服务器的URL、用户名和密码;(3) 获取`java.sql....
2. **hive-jdbc.jar**:Hive JDBC驱动程序,使得像DbVisualizer这样的第三方工具可以通过JDBC接口连接到Hive服务器。 3. **hadoop-client.jar**:包含了Hadoop客户端的所有依赖,允许Hive与Hadoop集群通信。 4. **...
3. **加载驱动**: 在建立连接之前,需要通过`Class.forName()`加载Impala的JDBC驱动。 4. **创建Statement或PreparedStatement**: 通过连接对象创建`Statement`或`PreparedStatement`实例,用于执行SQL查询。 5. *...
总的来说,Hive JDBC驱动是连接Hive与各种编程语言之间的桥梁,使得开发人员能够灵活地在Hadoop集群上进行数据操作和分析,而无需深入理解MapReduce或HDFS的底层细节。通过正确配置和使用Hive JDBC,你可以构建高效...
3. **配置阿里云Hive连接**:如果Hive实例部署在阿里云上,你可能需要使用阿里云Hive JDBC驱动,其驱动类名可能不同,例如`com.aliyun.odps.jdbc.Driver`,请根据实际情况调整。 4. **创建新阿里云Hive连接**:在...
接着,将 MySQL JDBC 驱动添加到 Hive 的类路径中,以便 Hive 可以通过 JDBC 连接到 MySQL 数据库。 对于 MySQL,你需要先解压 RPM 包,然后使用 `yum` 或 `rpm` 命令安装 MySQL 服务。配置 MySQL 服务器,创建用户...
Hive提供了jdbc驱动,使得我们可以用Java代码来连接Hive并进行一些类关系型数据库的sql语句查询等操作。同关系型数据库一样,我们也需要将Hive的服务打开;在Hive 0.11.0版本之前,只有HiveServer服务可用,你得在...
不使用JDBC-ODBC桥的方式可以直接通过JDBC驱动连接数据库,例如: - 对于SQL Server,可以使用 `com.microsoft.sqlserver.jdbc.SQLServerDriver`。 - 对于MySQL,可以使用 `com.mysql.jdbc.Driver`。 - 对于Oracle...
Impala提供了不同版本的JDBC驱动以兼容不同的Java环境和JDBC规范。在提供的压缩包中,包括了ImpalaJDBC3、ImpalaJDBC4和ImpalaJDBC41三个版本的驱动: 1. **ImpalaJDBC3**:这是针对JDBC 3.0规范的驱动,适用于较旧...
这个驱动包中的MySQL驱动可能包含JDBC驱动类库(通常以.jar文件形式存在),如`mysql-connector-java.jar`,它是连接Kettle到MySQL数据库的关键。 接下来是Oracle驱动。Oracle数据库是全球最广泛使用的商业数据库之...
5. **Impala-Hive**:Impala和Hive是两个不同的大数据处理引擎,它们分别有自己的JDBC驱动。`impala-jdbc.jar`用于Impala,而`hive-jdbc.jar`则服务于Hive。这两个驱动让Java应用能够查询存储在Hadoop集群上的数据,...
这些库包含Hive JDBC驱动,允许Java应用程序通过JDBC接口与Hive通信。 3. **设置Hive JDBC连接**: 在Java代码中,首先需要创建一个`DriverManager.getConnection()`实例,提供Hive服务器的URL、用户名和密码。...
除了Beeline之外,还可以使用标准的JDBC驱动程序来访问Hive。这种方式适用于开发Java应用程序时调用Hive SQL查询。例如,在Java程序中使用如下代码: ```java Connection conn = DriverManager.getConnection("jdbc:...
- **JDBC驱动配置**:Hive使用JDBC驱动来连接MySQL数据库,其中元数据存储在MySQL的`metastore`库中。 - **Hive-site.xml配置**:Hive的配置文件`hive-site.xml`中配置了JDBC连接MySQL的详细信息,包括连接地址、...