我想远程启动 Hive 查询。
为此,我使用了 hive-jdbc 库(0.14.0 版本)和 hadoop-core(1.2.1 版本)。
几周前,我启动了以下代码:
try {
Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection(
"jdbc:hive://cosmos.lab.fi-ware.org:10000/default", "user",
"password");
Statement stmt = con.createStatement();
String sql = "select * from table_name";
ResultSet res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println("value: " + res.getString(1));
}
它有效,但现在我收到此错误:
java.sql.SQLException: Could not establish connection to cosmos.lab.fi-ware.org:10000/default: java.net.ConnectException: Conexión rehusada
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:117)
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:107)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
我看到现在 Hive 端口 (10000) 已关闭。
所以,我想知道使用远程配置单元客户端访问 cosmos 的正确方法是什么,或者我是否必须更改从 cosmos 获取数据的方式。