2014-07-11 6 views
16

mi sono seguente errore durante l'esecuzione di dbGetQuery RJDBC 0,2-4:R RJDBC java.lang.OutOfMemoryError

Error in .jcall(rp, "I", "fetch", stride) :  
    java.lang.OutOfMemoryError: Java heap space 

seguito è il mio codice:

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") 

Qualcuno mi può aiutare con questo, grazie molto in anticipo

+4

Sei stanco di aumentare la memoria a 4g anziché 1g. Intendo impostare le opzioni per i parametri java come '-Xmx4g' invece di' -Xmx1g' – athraa

risposta

12

semplicemente cambiare la java.parameters a 8GB prima del pacchetto di carico RJDBC:

options(java.parameters = "-Xmx8048m") 
library("RJDBC") 
1

È possibile aumentare la memoria come di seguito e riavviare il tuo Rstudio e ha funzionato per me.

memory.limit(size=10000000000024)