使用java语言连接hive服务操作hive中的数据
创建maven项目添加依赖
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc
数据库的驱动 连接的是何种数据库
-->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-metastore -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-metastore</artifactId>
<version>1.2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-metastore -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
hive开启hiveserver2 服务 ; 开启hive的远程连接的服务
netstat -nltp | grep 10000 查看hive2服务的10000端口是否启用
/**
* @Author: 多易教育 - 行哥
*/
public class JDBC2Hive{
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
public static void main(String[] args) throws SQLException {
try {
// 注册驱动
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
// 获取连接
Connection con = DriverManager.getConnection("jdbc:hive2://doit01:10000/demo", "root", "");
// 获取指定SQL的对象
Statement stmt = con.createStatement();
String sql = "select * from tb_case";
// 执行sql
ResultSet res = stmt.executeQuery(sql);
// 处理结果
if (res.next()) {
System.out.println(res.getString(1));
}
}
}