我正在尝试按以下方式保存rdd, data.coalesce(1).saveAsTextFile(outputPath)
但是我得到java.lang.OutOfMemoryError:无法获取76个字节的内存,得到0
有没有人遇到类似的问题,如果有的话,我想了解你是如何解决它的
答案 0 :(得分:0)
您能否提供更多关于您是否正在获得执行人驱动程序OOM的详细信息?
通过您发布的代码coalesce(1)将强制所有执行程序将数据发送到单个执行程序,如果您的数据大小很大,您将开始看到失败。
合并导致洗牌。 (所有mapperTask都将数据发送到单个任务)。
关注http://bytepadding.com/big-data/spark/understanding-spark-through-map-reduce/以获得深入了解