Куст RJDBC, сбой подключения

Я выполнил несколько руководств, чтобы попытаться безуспешно подключиться к Hive с помощью RJDBC.

Вот что у меня есть:

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 правильно, так как я заставил его работать с impyla в Python с тем же именем хоста / портом.

Ошибка:

Ошибка в.jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],: java.lang.NoClassDefFoundError: org/apache/thrift/TException

Насколько я понимаю, у меня нет правильного .jarс?

Замечание:

Я не могу установить hive-jdbc на машину, так как у меня нет root. Могу ли я обойтись без него, если у меня есть hive-jdbc-1.1.0-cdh5.16.99.jar в папке?

Кроме того, может ли Kerberos вызвать эту ошибку?

1 ответ

Мне нужно было загрузить автономную версию драйвера улья.

hive-jdbc-3.1.2-standalone.jar, автономная версия не требует полной установки клиента hive.

Другие вопросы по тегам