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) が閉じられていることがわかりました。
したがって、リモート ハイブ クライアントを使用してコスモスにアクセスする正しい方法は何か、またはコスモスからデータを取得する方法を変更する必要があるかどうか疑問に思っています。