2015-11-03 66 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

相關問題