gpt4 book ai didi

scala - IntelliJ 上的 java.lang.StackOverflowError

转载 作者:行者123 更新时间:2023-12-04 01:46:12 24 4
gpt4 key购买 nike

我是 scala/spark 的新手,加载了一个大小为 2GB 的文件 (csv),它在我的低于 HEAP_SIZE 的虚拟机上运行良好。

HEAP_SIZE="-Xms8g -Xmx8g"

但是当在 IntelliJ 上运行相同的代码并加载相同的文件时,它会抛出 java.lang.StackOverflowError 异常。知道我没有在 IntelliJ 上正确设置内存选项。由于我的 Windows 机器 (32GB) 上有足够的内存,有人可以帮助我如何以及在哪里设置它吗?

通过追查错误,正是来自于下面的代码,而且明显在collect处。

val lst: Array[String] = expRDD.map((c: tmpClass) => (c.objType, 0))
.reduceByKey((x: Int, y: Int) => 0)
.map({ (t: Tuple2[String, Int]) => t._1 })
.collect

最佳答案

增加堆栈大小可能会有所帮助。您可以在相应的运行/调试配置的 VM 选项 字段中指定 -Xss4m。这会将堆栈大小设置为 4M(默认堆栈大小取决于操作系统和 JVM 版本,通常低于 1M)。请注意,如果您的问题是由无限递归引起的,这将无济于事。

关于scala - IntelliJ 上的 java.lang.StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55192730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com