在pyspark中优化木地板文件

问题描述

我在pyspark中有大量的计算工作,可以相当迅速地输出为镶木地板格式,但可以在N个分区(其中N已知)上生成数千个〜3Mb文件。我知道我可以在写入之前将数据重新分区到这些分区上,但是从〜2000个节点开始的随机整理工作似乎要花很长时间。鉴于此,我有一个两部分的问题:

  1. 重新分区然后在一个步骤中写入镶木地板会更好,还是先写入镶木地板然后重新粘贴并再次写入镶木地板,再合并小文件,会更好吗?本质上,这将在最后执行镶木地板优化步骤。请注意,我并不担心存储空间。

  2. 如果我采用重新贴装和重写的方法,那么以下是执行此操作的最佳方法吗?

df.repartition(N,'partition_name').write.partitionBy('partition_name').saveAsTable(...)

似乎repartition命令引入了另一种慢速随机播放操作,考虑到数据已被分区,实际上并没有必要。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)