R Ошибка: java.lang.OutOfMemoryError: пространство кучи Java
Я пытаюсь подключить R к Teradata, чтобы напрямую извлекать данные в R для анализа. Тем не менее, я получаю сообщение об ошибке:
Error in .jcall(rp, "I", "fetch", stride, block) :
java.lang.OutOfMemoryError: Java heap space
Я попытался настроить свои R-опции, чтобы увеличить максимальный размер кучи JVM, выполнив:
options(java.parameters = "-Xmx8g")
Я также попытался инициализировать java-параметры с помощью функции rJava .jinit
как: .jinit(parameters="-Xmx8g")
.
Но все еще не удалось.
Рассчитанный размер данных должен быть приблизительно 3G (фактически меньше, чем 3G).
Может ли кто-нибудь помочь мне в этом? Любые советы приветствуются.
Ответы
Ответ 1
Перед загрузкой rJava или любых других пакетов вам необходимо выделить дополнительную память. Сначала протрите среду (через rm(list = ls())
), перезапустите R/Rstudio, если необходимо, и измените параметры в начале вашего script.
options(java.parameters = "-Xmx8000m")
См. например https://support.snowflake.net/s/article/solution-using-r-the-following-error-is-returned-javalangoutofmemoryerror-gc-overhead-limit-exceeded