我有一个rshiny应用程序,它使用rjdbc驱动程序连接到datalake,使用以下代码段:
hadoop.class.path = list.files(path=c("/usr/hdp/2.6.1.0-129/hadoop"),pattern="jar", full.names=T);
hive.class.path = list.files(path=c("/usr/hdp/current/hive-client/lib"),pattern="jar", full.names=T);
hadoop.lib.path = list.files(path=c("/usr/hdp/current/hive-client/lib"),pattern="jar",full.names=T);
mapred.class.path = list.files(path=c("/usr/hdp/current/hadoop-mapreduce-client/lib"),pattern="jar",full.names=T);
cp = c(hive.class.path,hadoop.lib.path,mapred.class.path,hadoop.class.path)
.jinit(classpath=cp,parameters="-Djavax.security.auth.useSubjectCredsOnly=false")
drv <- JDBC("org.apache.hive.jdbc.HiveDriver","hive-jdbc.jar",identifier.quote="`")
conn <- dbConnect(drv, <Path to Hive server>, <SchemaName>)
由于应用程序涉及大量的用户干预,应用程序有很多时间处于空闲状态,但我们所经历的是,配置单元会话在这些“空闲时间”内频繁超时,因此用户会失去进度。在多次来回调用和应用程序空闲期间,是否仍有保持此会话活动的方法。
下面是我得到的错误:
Warning: Error in .verify.JDBC.result: Unable to retrieve JDBC result set
JDBC ERROR: Invalid SessionHandle: SessionHandle <SessionId>
暂无答案!
目前还没有任何答案,快来回答吧!