【问题标题】:R RJDBC java.lang.OutOfMemoryErrorR 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

标签: r memory heap-memory rjdbc


【解决方案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")
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-14
          • 1970-01-01
          • 1970-01-01
          • 2016-05-01
          • 1970-01-01
          相关资源
          最近更新 更多