在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