我正在尝试将RStudio连接到我在远程服务器上通过Hue访问的Hive中的数据。
这是我目前的代码:
options( java.parameters = "-Xmx20g" )
library("DBI")
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_131')
library("rJava")
library("RJDBC")
drv <- JDBC("org.apache.hadoop.hive.jdbc.HiveDriver",
c(list.files("C:/Users/xxx/Desktop",pattern="jar$",full.names=T),
list.files("C:/Users/xxx/Desktop",pattern="jar$",full.names=T)))
我将Hive JAR文件下载到我的桌面,xxx是正确的文件路径。到目前为止,一切都在RStudio中运行良好。
但是,当我运行以下行时:
conn <- dbConnect(drv, "jdbc:hive2://IP ADDRESS", "usrnm", "password")
其中IP地址,用户名和密码都正确,我遇到以下错误:
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], : java.lang.NoClassDefFoundError: org/apache/thrift/TBase
非常感谢任何帮助。非常感谢。
答案 0 :(得分:1)
我猜你没有丢失的罐子/库。
因此无法找到TBase类。
添加hive-exec-x.x.x.jar
并查看它是否适合你。
检查此链接
http://snacktrace.com/artifacts/org.apache.hive/hive-exec/1.1.1/org.apache.thrift.TBase
希望它有所帮助!!