什么是减少和减少的更好方法?处理这么多小文件时调整shuffle时间?
由于一些其他限制+要求,我无法减少小文件的数量,我知道处理小文件的问题。但我想知道还有哪些其他选项可用于减少给定MapReduce作业的随机播放时间?
对于单个MapReduce作业,我得到如下内容:
Average Map Time 33sec
Average Reduce Time 10sec
Average Shuffle Time 1hrs, 10mins, 18sec
Average Merge Time 2sec
我想知道有没有其他选择我可以尝试减少这个洗牌时间?
对于上述数据,我的#perperper是:14778
答案 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);
您还可以实现自定义比较器以减少随机播放的负载。