使用coalesce时的java.lang.OutOfMemoryError(1)

时间:2017-03-09 19:00:16

标签: scala hadoop apache-spark

我正在尝试按以下方式保存rdd, data.coalesce(1).saveAsTextFile(outputPath)

但是我得到java.lang.OutOfMemoryError:无法获取76个字节的内存,得到0

有没有人遇到类似的问题,如果有的话,我想了解你是如何解决它的

1 个答案:

答案 0 :(得分:0)

您能否提供更多关于您是否正在获得执行人驱动程序OOM的详细信息?

通过您发布的代码coalesce(1)将强制所有执行程序将数据发送到单个执行程序,如果您的数据大小很大,您将开始看到失败。

合并导致洗牌。 (所有mapperTask都将数据发送到单个任务)。

关注http://bytepadding.com/big-data/spark/understanding-spark-through-map-reduce/以获得深入了解