0
我用組合器運行WordCount的例子。 這裏的運行結果:爲什麼Hadoop中的reduce_input_records小於combine_output_records?
13/10/07 22:32:38 INFO mapred.JobClient: Map input records=20111076
13/10/07 22:32:38 INFO mapred.JobClient: Reduce shuffle bytes=467280
13/10/07 22:32:38 INFO mapred.JobClient: Spilled Records=541137
13/10/07 22:32:38 INFO mapred.JobClient: Map output bytes=632287974
13/10/07 22:32:38 INFO mapred.JobClient: Total committed heap usage (bytes)=4605870080
13/10/07 22:32:38 INFO mapred.JobClient: Combine input records=62004735
13/10/07 22:32:38 INFO mapred.JobClient: SPLIT_RAW_BYTES=2280
13/10/07 22:32:38 INFO mapred.JobClient: Reduce input records=32020
13/10/07 22:32:38 INFO mapred.JobClient: Reduce input groups=1601
13/10/07 22:32:38 INFO mapred.JobClient: Combine output records=414658
13/10/07 22:32:38 INFO mapred.JobClient: Reduce output records=1601
13/10/07 22:32:38 INFO mapred.JobClient: Map output records=61622097
我有兩個問題,爲什麼map_output_records
小於combine_input_records
? 而爲什麼reduce_input_records
遠小於combine_output_records
? 我知道組合器可能會被多次調用,但combine_output_records
的數字不應該是最後一次調用的結果嗎?爲什麼它不等於減速器消耗的記錄數量?
感謝您的幫助!