2015-11-03 62 views

回答

1

Reduce task根本的Reducer.

减少任务数量是可配置的一个实例。

它要么可以通过在任务配置对象可用于

org.apache.hadoop.mapreduce.Job#setNumReduceTasks(int reducerCount);方法设置属性mapred.reduce.tasks指定。

+0

非常感谢你马杜。 – avinash

1

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功能上运行的程序。

+0

非常感谢Ravindra。感谢您的详细解释。 – avinash

相关问题