LoginSignup
0
0

More than 5 years have passed since last update.

RJDBCでJDK Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib Errorがでた際の備忘録

Posted at

概要

  • Exploratory から、TreasureDataにアクセスする際に 以下のようなErrorが出た際とてもハマったので備忘録
  • RStudioからもできなかったのですが、こちらでRSudioからもできるようになりました。

環境情報

パッケージ名 バージョン
Java 10.0.2
R 3.5.0
RStudio 1.1.456
rJava(CRAN) 0.9-10
RJDBC(CRAN) 0.2-7.1
Exploratory 4.4.0.5

Error内容

Error: package or namespace load failed for 'rJava':
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so
  Reason: image not found

解決方法

sudo ln -s $(/usr/libexec/java_home)/lib/server/libjvm.dylib /usr/local/lib
R CMD javareconf -n # こちらは念の為実施

TreasureDataへのアクセスScript

こちらはTreasureDataさんのスクリプトから抜粋で動作しました。

library(RJDBC)
drv <- JDBC("com.treasuredata.jdbc.TreasureDataDriver",
            "/path/to/td-jdbc-<td-jdbc.version>-jar-with-dependencies.jar",
            identifier.quote="`")
conn <- dbConnect(drv,
                  "jdbc:td://api.treasuredata.com/testdb;type=presto;useSSL=true",
                  "YOUR_USER_NAME_HERE",
                  "YOUR_PASSWORD_HERE")
dbListTables(conn)
dbGetQuery(conn, "SELECT COUNT(1) AS cnt FROM www_access")

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0