-1
我試圖節省如下, data.coalesce(1).saveAsTextFile(outputPath)java.lang.OutOfMemoryError同時使用聚結(1)
的RDD但我得到的java.lang .OutOfMemoryError:無法獲取76個字節的內存,得到0
有沒有人遇到類似的問題,如果是的話,我想了解你是如何解決它
我試圖節省如下, data.coalesce(1).saveAsTextFile(outputPath)java.lang.OutOfMemoryError同時使用聚結(1)
的RDD但我得到的java.lang .OutOfMemoryError:無法獲取76個字節的內存,得到0
有沒有人遇到類似的問題,如果是的話,我想了解你是如何解決它
可以請你提供更多細節在執行者的司機上得到OOM嗎?
通過您發佈的代碼coalesce(1)將強制所有執行程序將數據發送到單個執行程序,並且如果您的數據量很大,您將開始看到故障。
coalesce導致洗牌。 (所有mapperTask將數據發送到單個任務)。
按照http://bytepadding.com/big-data/spark/understanding-spark-through-map-reduce/深入瞭解
解決方法是不合並(1)。如果您想要一個輸出文件,請事後合併零件文件。 – puhlen