Hadoop 适用于宽桌的火花拼花地板行组尺寸
我使用Spark 1.6.0编写一个宽表(400多列)作为拼花文件。 我的执行者的资源限制为16Gb 我用Hadoop 适用于宽桌的火花拼花地板行组尺寸,hadoop,apache-spark,hadoop2,parquet,Hadoop,Apache Spark,Hadoop2,Parquet,我使用Spark 1.6.0编写一个宽表(400多列)作为拼花文件。 我的执行者的资源限制为16Gb 我用distributed by阅读表格,然后使用df.write.distributeBy().parquet() 这给了我一个拼花文件每个分区。这正是我想要的 问题是,当分区大小变得太大时,执行器会耗尽内存。我试图通过将parquet.block.size从128Mb减少到64Mb来解决这个问题。这没有效果。当我检查一个输出拼花文件时,我看到行组大小只有2Mb左右。 对于另一个拼花地板文件,
distributed by
阅读表格,然后使用df.write.distributeBy().parquet()
这给了我一个拼花文件每个分区。这正是我想要的 问题是,当分区大小变得太大时,执行器会耗尽内存。我试图通过将
parquet.block.size
从128Mb减少到64Mb来解决这个问题。这没有效果。当我检查一个输出拼花文件时,我看到行组大小只有2Mb左右。
对于另一个拼花地板文件,它是从具有相同配置的窄表创建的,行组大小为100Mb
谁能给我解释一下拼花文件是如何编写的,以及parquet.block.size
的效果吗
谢谢