R Ошибка в .jfindClass (as.character (driverClass) [1]): java.lang.ClassNotFoundException - PullRequest
0 голосов
/ 22 апреля 2019

Попытка установить соединение JDBC R с экземпляром куста EMR в macOS.Получение ошибки:

    Error in .jfindClass(as.character(driverClass)[1]) : 
    java.lang.ClassNotFoundException

Это то, что у меня так далеко:

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

    jardir <- "/Users/Downloads/jar_files"
    cp <- paste0(jardir,"/",list.files(path = jardir, pattern = 
    ".jar"))


   .jinit(classpath <- cp)

   drv <- RJDBC::JDBC("com.amazon.hive.jdbc.HS1Driver"
        , classPath = 
   list.files("/Users/Downloads/jar_files",pattern="jar$",
   full.names=T),
   identifier.quote="'")

Это версия Java:

    java version "1.8.0_202"
    Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
    Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

И версия R:

    R version 3.5.1 (2018-07-02) -- "Feather Spray"
    Copyright (C) 2018 The R Foundation for Statistical Computing
    Platform: x86_64-apple-darwin15.6.0 (64-bit)

1 Ответ

0 голосов
/ 23 апреля 2019

Это сработало. Пришлось скачать файлы jar отсюда: http://awssupportdatasvcs.com/bootstrap-actions/Simba/AmazonHiveJDBC-1.0.9.1060.zip

Затем укажите путь к классу.

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

jardir <- "/Users/rockboy23/Hive"
cp <- paste0(jardir,"/",list.files(path = jardir, pattern = ".jar"))


.jinit(classpath <- cp)

# downloaded the driver from here: http://awssupportdatasvcs.com/bootstrap- 
# actions/Simba/AmazonHiveJDBC-1.0.9.1060.zip

drv <- RJDBC::JDBC("com.amazon.hive.jdbc41.HS2Driver"
        , classPath = 
list.files("/Users/rockboy23/Hive",pattern="jar$",full.names=T),
        identifier.quote="'")
...