当前位置: 首页 > 知识库问答 >
问题:

如何利用配置单元jdbc从java代码中设置空闲配置单元jdbc连接

于高雅
2023-03-14

我在我的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");

在这方面需要帮助。

共有1个答案

昝唯
2023-03-14

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代码。 ——运行良好 ——失败并出现错误 我的代码: