我在我的java应用程序中使用hive JDBC1.0来创建与hive服务器的连接并执行查询。我想从java代码中设置空闲配置单元连接超时。就像say一样,用户首先创建配置单元连接,如果配置单元连接在接下来的10分钟内保持空闲,那么该连接对象将过期。如果用户在10分钟后使用相同的连接对象执行查询,那么配置单元jdbc将抛出错误。你能告诉我通过java代码实现这一点的方法吗。
我知道配置单元中有一个属性hive.server2.idle.session.timeout
,但我不知道这是从java代码中设置的正确属性,还是有其他属性。我尝试在jdbc连接字符串中设置此属性,但没有成功。
try {
Class.forName("org.apache.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException e) {
LOG.error(ExceptionUtils.getStackTrace(e));
}
String jdbcurl = "jdbc:hive2://localhost:10000/idw?hive.server2.idle.session.timeout=1000ms";
Connection con;
con = DriverManager.getConnection(jdbcurl,"root","");
Thread.sleep(3000);
下面我使用的是连接对象,配置单元jdbc应该在这里抛出错误,因为我在3000毫秒后使用了连接对象,但我将空闲超时设置为1000毫秒,但配置单元jdbc没有抛出错误
ResultSet rs = con.createStatement().executeQuery("select * from idw.emp");
在这方面需要帮助。
hive.server2.idle.session.timeout导致会话在指定的持续时间内未被访问时终止。但是,需要指定hive.server2.idle.session.timeout,并将hive.server2.session.check.interval设置为正值。基本上,我们需要在超时间隔内指定一些会话检查,以导致会话关闭。
更多详细信息可在此查看https://cwiki.apache.org/confluence/display/hive/configuration+properties#configurationproperties-hive.server2.session.check.interval
下面是如何通过配置单元JDBC运行查询的 从纱线URL,找不到应用程序ID。
我正在尝试使用hive jdbc uber jar并配置jdbc接收器连接器。 但是连接器抛出错误: 配置 驱动程序位于路径中:/usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib 我已经重新启动连接器,但同样的错误。我认为驱动程序类名必须在某些属性中设置。 知道吗?
我试图在Hive0.14中执行HiveACID事务属性,比如通过Java插入、删除和更新。我能够设置所需的ACID事务属性。还可以创建具有事务属性的表。但它失败了。下面是示例代码: 尝试插入时获得以下异常: 线程“main”java中出现异常。sql。SQLException:处理语句时出错:失败:执行错误,从组织返回代码1。阿帕奇。hadoop。蜂箱ql.exec。org的MapRedTask先
我试图为我的本地配置单元服务器实例(thrift)创建一个连接和getMataData()。 以下是我正在尝试的代码: 线程“main”java.lang.noClassDefFounderror:org/apache/hadoop/hive/metaexception在org.apache.hadoop.hive.jdbc.hivedriver.connect(Hivedriver.java:1
我使用Hortonworks Hadoop HDP-2.3.2.0-2950 Hive over Tez引擎 下面2个查询来自Java代码。 ——运行良好 ——失败并出现错误 我的代码: