Hadoop中的小文件与随机播放时间 - 调整

时间:2015-04-17 01:03:44

标签: hadoop mapreduce hdfs bigdata yarn

什么是减少和减少的更好方法?处理这么多小文件时调整shuffle时间?

由于一些其他限制+要求,我无法减少小文件的数量,我知道处理小文件的问题。但我想知道还有哪些其他选项可用于减少给定MapReduce作业的随机播放时间?

对于单个MapReduce作业,我得到如下内容:

Average Map Time    33sec
Average Reduce Time 10sec
Average Shuffle Time    1hrs, 10mins, 18sec
Average Merge Time  2sec 

我想知道有没有其他选择我可以尝试减少这个洗牌时间?

对于上述数据,我的#perperper是:14778

1 个答案:

答案 0 :(得分:2)

如果您有多个小文件,则可以使用所有这些小文件,并使用驱动程序中的MultipleInputs格式将它们提交给一个映射器。如下所示:

MultipleInputs.addInputPath(job,new Path(args[0]),TextInputFormat.class,CounterMapper.class);
MultipleInputs.addInputPath(job,new Path(args[1]),TextInputFormat.class,CountertwoMapper.class);

您还可以实现自定义比较器以减少随机播放的负载。