1. 程式人生 > >Hadoop中Reducer對輸出的結果執行乘法或者加法的時候為什麼都是執行兩次

Hadoop中Reducer對輸出的結果執行乘法或者加法的時候為什麼都是執行兩次

比如對於計算出的兩條溫度記錄

1949   111

1950    22

若對溫度執行乘2,則得到

1949  444

1950  88

而溫度執行乘1,則得到原溫度

1949  111

1950   22

若執行加5,則得到

1949  121

1950  32

都是加了兩次這是為什麼??

經分析程式碼發現,原來自己的

job.setCombinerClass(Temperature_M4Reducer.class);
job.setReducerClass(Temperature_M4Reducer.class);

兩處設定的都是同一個所以,相當於執行了兩次,導致乘2為成4,加5為加10。