Hive远程模式搭建好之后,可以使用Beeline客户端或JDBC远程访问Hive了
启动HiveServer2服务
$ hive --service hiveserver2 &
新建Java Maven项目,在pom.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.关闭连接
关闭连接,释放资源
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";// 连接地址,默认使用端口10000String 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();}
}