Я переместил свой код в Linux из windows, пока выполняю тот же код, который моя R-студия не подключает к Hive. Ниже приведен мой код -
#set enviroment path for Java in R
Sys.setenv(JAVA_HOME = "~/usr/lib/jvm/java")
#set option for Kerberos support. If not set, only login with usercredentials will work
Sys.setenv(JAVA_TOOL_OPTIONS="-Djavax.security.auth.useSubjectCredsOnly=false")
#necessary libraries for JDBC Support in R
library(rJava)
library(DBI)
library(RJDBC)
library(lubridate)
# initialize classpath to necessary jars. I have also tried with newer version of these jars but no result
cp = c("jar/hive-jdbc-1.2.1-standalone.jar",
"jar/hadoop-auth-2.7.3.2.6.2.0-205.jar",
"jar/hadoop-common-2.7.3.2.6.2.0-205.jar" )
.jinit(classpath=cp)
#start JDBC driver
drv <- JDBC("org.apache.hive.jdbc.HiveDriver", cp, identifier.quote="`")
#setup hive connection with Kerberos authentication
conn <- dbConnect(drv, "jdbc:hive2://url")
Тот же код работает довольно хорошо в Windows
Я бегу Java 1,8 в linux и Java 1,7 в Windows
Я получаю ошибку -
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.Utils parseURL
INFO: Supplied authorities: url
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.Utils parseURL
INFO: Resolved authority: url
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://url
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.Utils parseURL
INFO: Supplied authorities: url
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.Utils parseURL
INFO: Resolved authority: url
Jan 07, 2020 4:14:08 PM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://url
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], :
java.lang.IllegalArgumentException: java.lang.ClassCastException: java.util.Vector cannot be cast to java.util.Hashtable
Спасибо за вашу помощь.