RJDBC配置单元,连接失败

问题描述 投票:0回答:1

我遵循了多重教程,尝试通过RJDBC顺利连接到Hive。

这里是我所拥有的:

library(DBI)
library(rJava)
library(RJDBC)


driver <- JDBC('org.apache.hive.jdbc.HiveDriver',
            classPath = list.files("/home/cdsw/R",pattern="jar$",full.names=T),
            identifier.quote="`")

USERNAME <- "MyUser"
PASSWORD <- "MySecretPassWord"
HOSTNAME <- "my.host.net"
PORT <- 10000

server <- sprintf('jdbc:hive2://%s:%s', HOSTNAME, PORT)

conn <- dbConnect(driver, server,
                  USERNAME, PASSWORD)

我已经下载并将"/home/cdsw/R/"文件放置在jar中。

list.files("/home/cdsw/R",pattern="jar$",full.names=T)

[1] "/home/cdsw/R/hadoop-common-2.6.0-cdh5.16.99.jar"
[2] "/home/cdsw/R/hive-jdbc-1.1.0-cdh5.16.99.jar"

我也尝试了最新版本,但始终与同一Cloudera版本同步。即使我的版本是5.XX。

我非常确定HOSTNAME是正确的,因为我已经将它与具有相同主机名/端口的Python中的impyla一起使用。

错误:

。jcall(drv @ jdrv,“ Ljava / sql / Connection;”,“ connect”,as.character(url)[1]中的错误:java.lang.NoClassDefFoundError:org / apache / thrift / TException

据我了解,我没有正确的.jar

备注:

由于我不是root用户,因此无法在计算机上安装hive-jdbc。因为我已经放置了文件夹中的hive-jdbc-1.1.0-cdh5.16.99.jar

而且,Kerberos可以触发此错误吗?

hive rjava rjdbc cdsw
1个回答
0
投票

我需要下载独立版本的配置单元驱动程序。

hive-jdbc-3.1.2-standalone.jar,独立版本不需要完整安装hive客户端。

© www.soinside.com 2019 - 2024. All rights reserved.