我尝试使用R连接到远程Hive,每一步我发现一个新错误。目前我正在这样做:
library("DBI")
library("rJava")
library("RJDBC")
cp = c("/path/jars/hadoop-common-3.1.0.jar",
"/path/jars/hive-jdbc-2.3.3-standalone.jar")
.jinit(classpath=cp)
drv <- JDBC("org.apache.hive.jdbc.HiveDriver",
"/path/jars/hive-jdbc-2.3.3-standalone.jar",
identifier.quote="`")
conn <- dbConnect(drv, "jdbc:hive2://<ip>:10000/default", "myuser", "")
我得到的是以下错误,它是关于protobuf的,但不知道它是本地问题(环境?)还是服务器端。
java.lang.NoClassDefFoundError: com/google/protobuf/ProtocolMessageEnum
答案 0 :(得分:0)
从hadoop安装下载或获取protobuf.jar并添加它解决了这个问题。
cp = c("/path/jars/hadoop-common-3.1.0.jar",
"/path/jars/hive-jdbc-2.3.3-standalone.jar",
"/path/jars/protobuf-java-2.5.0.jar")