2017-04-04 39 views
0

我們有一個Apache Spark 1.4.0集羣,我們希望從HDFS的一組350個地板文件加載數據。目前,當我們嘗試運行我們的程序時,我們得到一個「OutOfMemory Error」驅動程序端。 分析執行程序和驅動程序,我們注意到,在操作過程中,當驅動程序內存不斷增加時,執行程序內存保持不變。 對於我們加載數據如下每個拼花文件:OOM從實木複合地板加載數據

sqlContext.read().format(PARQUET_OUT_TYPE).load("path").toJavaRDD(mappingFunction) 

,並在此之後,我們通過「聯盟」加入RDDS,然後我們合併它們

partitions.reduce((r1,r2) -> r1.union(r2).coalesce(PARTITION_COUNT)) 

什麼看起來真的很奇怪,我是執行程序的內存在加載階段保持不變(當我期望看到它增加是由於節點讀取的數據的原因)和驅動程序的內存不斷增加(當我期望看到它保持不變,因爲它不應該加載驅動程序內存)。

我們加載數據的方式有什麼問題嗎?你能解釋我怎麼從平行木地板上讀取數據嗎?

謝謝

回答

0

OOM是由拼花元數據而不是數據造成的。

謝謝

相關問題