任何人都可以解释我hadoop如何决定将作业传递到地图并减少。 Hadoop作业被传递到地图并减少,但我无法弄清楚它的完成方式。
提前致谢。
答案 0 :(得分:1)
请参阅Hadoop Definitive guid,第6章,MapReduce作业运行剖析主题。快乐学习
答案 1 :(得分:0)
来自Apache mapreduce tutorial:
作业配置:
Job
表示MapReduce作业配置。
Job
是用户向Hadoop框架描述MapReduce
作业以执行的主要接口。该框架试图忠实地执行Job
任务执行&环境下强>
MRAppMaster
在单独的jvm中将Mapper/Reducer
任务作为子进程执行。
<强>映射强>
Mapper
将输入键/值对映射到一组中间键/值对。
有多少地图?
地图数量通常由输入的总大小驱动,即the total number of blocks of the input files
。
<强>减速强>
Reducer将一组中间值减少到一个较小的值集合。
作业的减少次数由用户通过Job.setNumReduceTasks(int).
减少了多少?
The right number of reduces seems to be 0.95 or 1.75 multiplied by (<no. of nodes> * <no. of maximum containers per node
&GT;)
工作提交和监控
职位提交流程包括:
检查作业的输入和输出规格。
计算作业的InputSplit值。
如有必要,为作业的DistributedCache设置必要的记帐信息。
将作业的jar和配置复制到FileSystem上的MapReduce系统目录。
将作业提交给ResourceManager并可选择监视其状态。
作业输入
InputFormat描述了MapReduce作业的输入规范。 InputSplit表示由单个Mapper处理的数据。
作业输出
OutputFormat描述了MapReduce作业的输出规范。
浏览该教程以进一步了解完整的工作流程。
来自AnatomyMapReduceJob的http://ercoppa.github.io/文章: 工作流程如下图所示。