【发布时间】:2016-11-07 12:16:40
【问题描述】:
所以,我有一个如下所示的模式。
def someFunction(...) : ... =
{
// Somewhere here some large string (still < 1 GB) is made ...
// ... and sometimes I get Java.lang.OutOfMemoryError while building that string
}
....
val RDDb = RDDa.map(x => someFunction(...))
所以,在someFunction 内部,在一个地方创建了一个大字符串,但仍然不是那么大(java.lang.OutOfMemoryError: Java heap space 错误。即使我的执行程序内存非常大(8 GB),也会发生这种情况。
根据this article,有User内存和Spark内存。现在在我的情况下,我应该增加哪一个分数,用户内存或 Spark 内存?
PS:我使用的是 Spark 2.0 版
【问题讨论】:
-
我使用的是 Spark 2.0 版。他们在那个版本中有一个新的内存管理系统。
标签: scala memory apache-spark apache-spark-2.0