RJDBCでJDK Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib Errorがでた際の備忘録
2927 ワード
概要
- 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
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")
参考
Author And Source
この問題について(RJDBCでJDK Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib Errorがでた際の備忘録), 我々は、より多くの情報をここで見つけました https://qiita.com/nakanowax/items/213008d0bd98c6c048af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .