hive合并小文件

一、产生小文件的原因
1、hive分区可能会产生小文件
2、reduce过多会产生过多的结果小文件

3、其他

二、map端的输入合并
set hive.input.format=org.apache.Hadoop.hive.ql.io.CombineHiveInputFormat

三、输出端的合并

配置 解释
set hive.merge.mapfiles=true map only job结束时合并小文件
set hive.merge.mapredfiles=true 合并reduce输出的小文件
set hive.merge.smallfiles.avgsize=256000000 当输出文件平均大小小于该值,启动新job合并文件
sethive.merge.size.per.task=64000000 合并之后的每个文件大小64M

你可能感兴趣的:(hadoop)