宽table的sparkParquet地板行组大小

qpgpyjmq  于 2021-06-01  发布在  Hadoop
关注(0)|答案(0)|浏览(192)

我使用spark 1.6.0编写一个宽表(400多列)作为Parquet文件。我的执行者的资源限制为16gb。
我用眼睛看table distribute by <partition_cols> 然后使用 df.write.distributeBy(<partition_cols>).parquet(<path>) .
这给了我一个Parquet文件每个分区。那正是我想要的。
问题是,当分区太大时,执行器会耗尽内存。我试图通过降低成本来解决这个问题 parquet.block.size 从128mb到64mb。这没有效果。当我检查一个输出parquet文件时,我看到行组大小只有大约2mb。对于另一个parquet文件,它是从具有相同配置的窄表创建的,行组大小是100mb。
有人能给我解释一下Parquet文件是怎么写的,以及 parquet.block.size ?
谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题