taisenki 2012-07-22
文件数目过多,增加namenode的压力,hdfs的压力,同时需要更多map进程,影响处理效率。
可以通过配置如下几个参数,合并Map和Reduce的结果文件,消除这些影响。
控制每个任务合并小文件后的文件大小(默认256000000):hive.merge.size.per.task
告诉Hadoop什么样的文件属于小文件(默认16000000):hive.merge.smallfiles.avgsize
是否合并Map的输出文件(默认true):hive.merge.mapfiles
是否合并Reduce的输出文件(默认false):hive.merge.mapredfiles