Apache spark 从拼花地板加载数据

Apache spark 从拼花地板加载数据,apache-spark,parquet,Apache Spark,Parquet,我们有一个ApacheSpark1.4.0集群,我们希望从HDFS的一组350个拼花文件加载数据。目前,当我们试图运行我们的程序时,我们得到一个“OutOfMemory错误”驱动端。 分析执行器和驱动程序时,我们注意到在操作期间,当驱动程序内存不断增加时,执行器内存保持不变。 对于每个拼花地板文件,我们加载数据如下: sqlContext.read().format(PARQUET_OUT_TYPE).load("path").toJavaRDD(mappingFunction) 然后,我们通

我们有一个ApacheSpark1.4.0集群,我们希望从HDFS的一组350个拼花文件加载数据。目前,当我们试图运行我们的程序时,我们得到一个“OutOfMemory错误”驱动端。 分析执行器和驱动程序时,我们注意到在操作期间,当驱动程序内存不断增加时,执行器内存保持不变。 对于每个拼花地板文件,我们加载数据如下:

sqlContext.read().format(PARQUET_OUT_TYPE).load("path").toJavaRDD(mappingFunction)
然后,我们通过“联合”加入RDD,然后合并它们

partitions.reduce((r1,r2) -> r1.union(r2).coalesce(PARTITION_COUNT))
在我看来,真正奇怪的是,执行器内存在加载阶段保持不变(当我期望看到它因节点读取的数据而增加时),而驱动程序内存不断增加(当我期望看到它保持不变时,因为不应在驱动程序内存中加载)

我们加载数据的方式是否有问题?你能解释一下如何并行读取拼花地板上的数据吗


感谢

OOM是由拼花地板元数据而不是数据引起的

谢谢