在Spark中从选择插入会导致OOM



Spark SQL如下:

INSERT INTO new
SELECT
~~~
FROM A, B
WHERE
~~~ (complex join)
A和new的

Schema是相同的,B有一些过滤模式。B的大小较小,被广播。

但是在我的本地测试中显示OOM错误。

Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at org.apache.spark.sql.catalyst.expressions.UnsafeRow.copy(UnsafeRow.java:535)
at org.apache.spark.sql.catalyst.expressions.UnsafeRow.copy(UnsafeRow.java:93)

我尝试重新分区,并更改一些配置(如spark.shuffle.memoryFraction),但它没有工作。

我使用Spark 1.6。

一个选择是,尝试增加执行器内存

 --executor-memory 4096m

你也可以尝试调优"spark.memory.fraction"one_answers"spark.memory.fraction"。中给出的storageFractionhttp://spark.apache.org/docs/1.6.2/tuning.html memory-management-overview

相关内容

  • 没有找到相关文章

最新更新