R RJDBC java.lang.OutOfMemoryError
Posted
技术标签:
【中文标题】R RJDBC java.lang.OutOfMemoryError【英文标题】: 【发布时间】:2014-09-01 17:13:03 【问题描述】:运行 RJDBC 0.2-4 的 dbGetQuery 时出现以下错误:
Error in .jcall(rp, "I", "fetch", stride) :
java.lang.OutOfMemoryError: Java heap space
以下是我的代码:
Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jdk1.7.0_25')
options(java.parameters='-Xmx1g')
library(rJava)
library(rjson)
library(RJDBC)
# Output Java version
.jinit()
print(.jcall("java/lang/System", "S", "getProperty", "java.version"))
jdbcDriver <<- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="C:/lib/dashboard_lib/ojdbc6.jar")
jdbcConnection <<- dbConnect(jdbcDriver, "...", "...", "...")
dataset <<- dbGetQuery(jdbcConnection, "select * from OPR_DATA.MV_REG_CTRY_MS_QUARTER_AMT")
谁能帮帮我,在此先感谢
【问题讨论】:
您是否厌倦了将内存增加到 4g 而不是 1g。我的意思是将java参数的选项设置为-Xmx4g
而不是-Xmx1g
【参考方案1】:
评论以防其他人遇到此线程并出现相同的错误。更新 RJDBC (install.packages("RJDBC")) 对我有用。
【讨论】:
【参考方案2】:使用它对我来说会失败:
options(java.parameters = "-Xmx8048m")
library("RJDBC")
然而,
options(java.parameters = "-Xmx8g")
library("RJDBC")
工作。
【讨论】:
【参考方案3】:您可以如下增加内存并重新启动您的 Rstudio,它对我有用。
memory.limit(size=10000000000024)
【讨论】:
【参考方案4】:只需在加载 RJDBC 包之前将 java.parameters 更改为 8GB:
options(java.parameters = "-Xmx8048m")
library("RJDBC")
【讨论】:
以上是关于R RJDBC java.lang.OutOfMemoryError的主要内容,如果未能解决你的问题,请参考以下文章
R RJDBC java.lang.OutOfMemoryError
使用 Rstudio windows 中的 R rJDBC 包连接到 hive(启用了 kerbero)