我正在尝试将 R 连接到 Teradata,以将数据直接提取到 R 中进行分析。但是,我得到的错误是,
Error in .jcall(rp, "I", "fetch", stride, block) :
java.lang.OutOfMemoryError: Java heap space
我试图通过以下方式设置我的 R 选项以增加 JVM 的最大堆大小:
options(java.parameters = "-Xmx8g")
我还尝试使用 rJava 函数初始化 java 参数 .jinit
如: .jinit(parameters="-Xmx8g")
。但还是失败了。
计算出来的数据大小应该是3G左右(实际小于3G)。
原文由 user3768354 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要确保在加载 rJava 或任何其他包 之前 分配额外的内存。首先擦除环境(通过
rm(list = ls())
),必要时重新启动 R/Rstudio,然后修改脚本开头的选项。options(java.parameters = "-Xmx8000m")
参见例如 https://support.snowflake.net/s/article/solution-using-r-the-following-error-is-returned-javalangoutofmemoryerror-gc-overhead-limit-exceeded