在Mapreduce中,Reduce任务与Reducer有什么不同?在MapReduce中,reduce任务如何与reducer不同?
减少任务和减速器之间的相关性是什么?
减速机是否执行减速任务?
非常感谢
在Mapreduce中,Reduce任务与Reducer有什么不同?在MapReduce中,reduce任务如何与reducer不同?
减少任务和减速器之间的相关性是什么?
减速机是否执行减速任务?
非常感谢
Reduce task
根本的Reducer.
减少任务数量是可配置的一个实例。
它要么可以通过在任务配置对象可用于
或
org.apache.hadoop.mapreduce.Job#setNumReduceTasks(int reducerCount);
方法设置属性mapred.reduce.tasks
指定。
从Apache文档,
减速器减少一组共享一个密钥到一个较小的值集的中间值。
减速器有3个主要阶段:
洗牌
减速器是输入一个映射器的分组输出。在这个阶段,每个Reducer的框架都通过HTTP获取所有映射器输出的相关分区。
排序
该框架组减速器输入由密钥(因为不同的映射器可以具有输出相同的密钥)在这个阶段。
减少
在这个阶段,reduce(Object, Iterator, OutputCollector, Reporter)
方法被调用的每对中的分组的输入。
Reduce任务的输出通常通过OutputCollector.collect(Object, Object)
写入文件系统。
注意,除了消脂,合还援引减少功能,因为它执行的是减速接口。
Reducer
是一个类,其中包含reduce
功能如下
protected void reduce(KEYIN key, Iterable<VALUEIN> values, Context context
) throws IOException, InterruptedException {
Reduce task
是一个节点,其执行Reducer
类的reduce
功能上运行的程序。
非常感谢Ravindra。感谢您的详细解释。 – avinash
非常感谢你马杜。 – avinash