首页/数据/数仓建模速查/小文件治理:合并与参数控制
分层与规范64 条

小文件治理:合并与参数控制

小文件过多会拖慢任务与元数据服务:写入端控制 reduce 数、读取端合并、定期对小文件表做合并重写;先定位产生源再治理。

数仓建模速查数据更新于 2026-10-12
原因分区多/reduce 多/流式写入
写入控制控制并发与桶数
读取合并合并输入参数
定期治理合并重写任务

合并输入小文件

合并输入小文件
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
set mapred.max.split.size=134217728;      -- 128MB
set hive.merge.mapfiles=true;
set hive.merge.size.per.task=268435456;    -- 256MB
合并任务本身消耗资源,按周对高分区数表执行,而不是每天全量重写。

易错点

  • 只做读取端合并,写入端继续产生小文件,问题反复

数据来源与参考

  • Hive 官方文档:Configuration Properties
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌