使用 jdbc 连接 hive
1. 开启集群:
start-all.sh
2. 启动服务:
hive --service hiveserver
3. 加入必要的 jar 包:
hadoop-x.xx.x-core.jar 和 hive/lib 下的包
4. 编写程序:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class HiveConnectionDB {
public static void main(String[] args) throws Exception {
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
// 如果存在pokes表,将这个表删除
String dropSql = "drop table pokes";
// 创建pokes表,并指定文本的输入格式
String createSql = "create table pokes (name string, age int, sex int)"
+ "row format delimited fields terminated by '\t' stored as textfile";
// 将数据加载到pokes表中
String insertSql = "load data local inpath '/home/hadoop/Desktop/data.txt' overwrite into table pokes";
// 执行查询语句,只要前面的5条数据
String querySql = "select * from pokes limit 5";
// 链接数据库
Connection connection = DriverManager.getConnection(
"jdbc:hive://localhost:10000/default", "", "");
// 下面就是执行一些数据库的操作
Statement statement = connection.createStatement();
statement.execute(dropSql);
statement.execute(createSql);
statement.execute(insertSql);
// 查看执行查询返回的结果
ResultSet rs = statement.executeQuery(querySql);
while (rs.next()) {
System.out.println(rs.getString("name") + ", "
+ rs.getString("age") + ", " + rs.getString("sex"));
}
}
}
5. 执行程序