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