我的Hive客户端停止使用Cosmos实例
我有一个配置单元客户端(用Java编写),它与FIWARE实验室的Cosmos全局实例配合得很好。但是,它不再工作了,客户端似乎无法连接(超时)我的Hive客户端停止使用Cosmos实例,hive,fiware,fiware-cosmos,Hive,Fiware,Fiware Cosmos,我有一个配置单元客户端(用Java编写),它与FIWARE实验室的Cosmos全局实例配合得很好。但是,它不再工作了,客户端似乎无法连接(超时) 服务器端有什么变化吗?这是因为FIWARE Lab的Cosmos全局实例已经升级,现在HiveServer2正在Hive的服务器端运行。因此,代码中的所有内容仍然有效,但以下内容除外: 加载org.apache.hive.jdbc.HiveDriver而不是org.apache.hadoop.hive.jdbc.HiveDriver 将JDBC连接模
服务器端有什么变化吗?这是因为FIWARE Lab的Cosmos全局实例已经升级,现在HiveServer2正在Hive的服务器端运行。因此,代码中的所有内容仍然有效,但以下内容除外:
- 加载
而不是org.apache.hive.jdbc.HiveDriver
org.apache.hadoop.hive.jdbc.HiveDriver
- 将JDBC连接模式从
更改为JDBC:hive
JDBC:hive2
- 将配置单元依赖项更改为0.13.0版本
try {
// dynamically load the Hive JDBC driver
Class.forName("org.apache.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
return null;
} // try catch
try {
// return a connection based on the Hive JDBC driver
return DriverManager.getConnection("jdbc:hive2://" + hiveServer + ":" + hivePort,
hadoopUser, hadoopPassword);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
} // try catch
关于依赖关系,如果使用例如Maven,您的pom.xml
应该包含如下内容:
...
<dependencies>
...
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>0.13.0</version>
</dependency>
...
</dependencies>
...
从您的Hive客户端,只需使用上述命令执行更新语句。这是因为FIWARE Lab的Cosmos全局实例已升级,现在HiveServer2正在Hive的服务器端运行。因此,代码中的所有内容仍然有效,但以下内容除外:
- 加载
而不是org.apache.hive.jdbc.HiveDriver
org.apache.hadoop.hive.jdbc.HiveDriver
- 将JDBC连接模式从
更改为JDBC:hive
JDBC:hive2
- 将配置单元依赖项更改为0.13.0版本
try {
// dynamically load the Hive JDBC driver
Class.forName("org.apache.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
return null;
} // try catch
try {
// return a connection based on the Hive JDBC driver
return DriverManager.getConnection("jdbc:hive2://" + hiveServer + ":" + hivePort,
hadoopUser, hadoopPassword);
} catch (SQLException e) {
System.out.println(e.getMessage());
return null;
} // try catch
关于依赖关系,如果使用例如Maven,您的pom.xml
应该包含如下内容:
...
<dependencies>
...
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>0.13.0</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>0.13.0</version>
</dependency>
...
</dependencies>
...
从您的配置单元客户端,只需使用上述命令执行更新语句