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))
什麼看起來真的很奇怪,我是執行程序的內存在加載階段保持不變(當我期望看到它增加是由於節點讀取的數據的原因)和驅動程序的內存不斷增加(當我期望看到它保持不變,因爲它不應該加載驅動程序內存)。
我們加載數據的方式有什麼問題嗎?你能解釋我怎麼從平行木地板上讀取數據嗎?
謝謝