eclipse连接hive
在访问HDFS的基础上,把hive的lib目录下面的jar导进eclipse里面去。
代码:
package hive;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;
public class Hive {
public static void main(String args[]) throws Exception{
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
Connection con = DriverManager.getConnection("jdbc:hive://192.168.1.100:10000/default", "", "");
Statement stmt = con.createStatement();
String querySQL="SELECT * FROM default.tb3";
ResultSet res = stmt.executeQuery(querySQL);
while (res.next()) {
System.out.println(res.getString(1));
}
}
}
运行显示结果:
运行代码前先执行:
[root@baolibin ~]# hive --servicehiveserver >/dev/null 2>/dev/null&
否则会出现下面错误:
Exceptionin thread "main" java.sql.SQLException: Could not establish connection to 192.168.1.100:1000/default: java.net.ConnectException: Connection refused: connect
atorg.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:116)
atorg.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at hive.Hive.main(Hive.java:11)
hive的表tb3中的数据: