.jfindClass中的R错误(as.character(driverClass)[1]):java.lang.ClassNotFoundException

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

尝试在macOS上设置与JDBC EMR配置实例的R JDBC连接。得到错误:

    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)
r amazon-emr rjava rjdbc
1个回答
0
投票

这很有效。不得不从这里下载jar文件:http://awssupportdatasvcs.com/bootstrap-actions/Simba/AmazonHiveJDBC-1.0.9.1060.zip

然后将classpath指向它。

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="'")
© www.soinside.com 2019 - 2024. All rights reserved.