分享

spark-sql 小文件问题

JME 发表于 2015-4-7 00:41:50 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 12 105681
hero1122 发表于 2016-11-23 18:39:21
现在最新的spark2.0.2,小文件合并的问题依旧没有解决
回复

使用道具 举报

bingyuac 发表于 2016-12-17 10:26:06
本帖最后由 bingyuac 于 2016-12-17 10:28 编辑
yuwenge 发表于 2016-11-13 17:33
因为多线程并行往hdfs写造成的(因为每个DataFrame/RDD分成若干个Partition,这些partition可以被并行处 ...

在spark/conf路径下的spark-default.conf配置文件添加以下参数:
spark.sql.shuffle.partitions   20
spark计算结果就会生成20个结果文件
所以只要调整partition参数就行

回复

使用道具 举报

小龙〖爱狭的士 发表于 2017-5-5 16:57:56
玉溪 发表于 2016-11-14 14:24
这个问题是硬伤哦,不知道2.0里解决没有?谁用2.0了 说下呗

2.1也没有解决这个问题,只能自己实现。可以通过改spark core源码,根据数据大小进行重分区,在进行保存。至于怎么统计数据大小,在spark写hdfs时应该会先一次缓存hdfs,可以统计这个缓存hdfs,在进行决定分几个分区,分区之后再进行保存,这样就可以避免太多小文件。
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条