注意:需要开启hive服务
首先建一个maven工程,导入依赖包导pom.xml
<dependencies>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
连接Hive
public class HiveJdbcTest {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
public static void main(String[] args) throws Exception {
try {
//加载驱动
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
//连接对象,连接hive的本机ip,不指定端口,默认端口号是10000,数据库名是mydemo,连接hive的账号是hive,密码是123456
Connection con = DriverManager.getConnection("jdbc:hive2://192.168.8.99:10000/kgc");
String sql = "select name,sex_age from employee";
//执行预编译执行对象PreparedStatemen,只接受值类型参数
PreparedStatement preparedStatement = con.prepareStatement(sql);
//返回结果集
ResultSet rst = preparedStatement.executeQuery();
//ResultSet 是一根指向某数据表的指针,读取数据是一行一行从数据表中读取的
while (rst.next()){
System.out.println(rst.getString("name")+"\t"+rst.getString("sex_age"));
}
//关闭连接
con.close();
}
}