2017-04-04 63 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是由拼花元数据而不是数据造成的。

谢谢

相关问题