Ошибка RJDBC при попытке подключиться к серверу Hive: org.apache.thrift.TApplicationException: недопустимое имя метода: «выполнить»

Я пытаюсь использовать пакет RJDBC для подключения R (на локальном компьютере) с Hive (сервером) и вижу ошибки:

Ошибка в .jcall (drv @ jdrv, «Ljava / sql / Connection;», «connect», as.character (url) [1],: java.sql.SQLException: org.apache.thrift.TApplicationException: Недействительное название метода: "выполнить"

Я напрямую скопировал jar-файлы, работающие на сервере, на свой локальный компьютер, что не должно вызывать проблем с версиями драйверов. Я также пробовал использовать более ранние версии пакета RJDBC, но это тоже не сработало.

Буду очень признателен за любые идеи / предложения.

Мой сценарий:

#

hive_connection ‹- функция (имя хоста, порт, lib_dir, hive_jars) {библиотека (RJDBC) библиотека (DBI) библиотека (rJava) библиотека (Rserve)

# lib_dir: каталог, содержащий jar-файлы и драйверы hive_class_path ‹- file.path (lib_dir, hive_jars)

drv ‹- JDBC ('org.apache.hadoop.hive.jdbc.HiveDriver', classPath = hive_class_path," `") server ‹- sprintf ('jdbc: hive: //% s:% s', имя хоста, порт)

return (dbConnect (drv, server, 'hive', 'hive'))}

conn ‹- hive_connection ('hostname', 9083, 'lib_dir', list.files ('lib_dir')))


person Dai Li    schedule 12.09.2013    source источник


Ответы (3)


Это связано с драйвером и портом, я столкнулся с такой же ошибкой при подключении куста с драйвером jdbc. наконец, я нашел правильный драйвер и службу улья с портом. все работало нормально.

person abhay    schedule 15.11.2013

Попробуйте
drv <- JDBC( 'org.apache.hadoop.hive.jdbc.HiveDriver',c(hive_class_path ,pattern="jar$" ,full.names=T) )

person on_the_shores_of_linux_sea    schedule 15.11.2013

Я решил ту же проблему, выполнив два шага -

Изменить 1:

drv <- JDBC( 'org.apache.hive.jdbc.HiveDriver', classPath= hive_class_path, "`" ) 

Изменение находится в драйвере, обратите внимание, я вынул .hadoop

Изменение 2:

server <- sprintf( 'jdbc:hive2://%s:%s', hostname, port )

Я добавил «2» в URL-адрес для подключения к hiveServer2.

Я получил подробное объяснение, прочитав это - http://jayunit100.blogspot.com/2013/12/the-anatomy-of-jdbc-connection-in-hive.html

person user3739375    schedule 16.06.2014