我在hadoop中运行了一个单词计数作业,我的问题是为什么hadoop计数器中的Map输出记录和减少输入记录是不同的?请看下图
0s7z1bwu1#
我找到了在代码中使用组合器类的原因
l7mqbcuq2#
根据“combine output records”计数器,您的作业似乎使用了组合器。这就解释了为什么“减少输入记录”不等于“Map出记录”。合路器已经相当有效地将100米的记录缩减到几百条。很可能,您会问为什么“合并输入记录”不等于“Map输出记录”,为什么“合并输出记录”不等于“记录输入记录”。其解释是,组合器可以运行多次,这意味着您“实际上”对相同的数据进行了多次计数(在这里,您可以观察到541个额外的输入记录等于677-136,但不能保证这两个数字总是匹配的)
2条答案
按热度按时间0s7z1bwu1#
我找到了在代码中使用组合器类的原因
l7mqbcuq2#
根据“combine output records”计数器,您的作业似乎使用了组合器。这就解释了为什么“减少输入记录”不等于“Map出记录”。
合路器已经相当有效地将100米的记录缩减到几百条。
很可能,您会问为什么“合并输入记录”不等于“Map输出记录”,为什么“合并输出记录”不等于“记录输入记录”。其解释是,组合器可以运行多次,这意味着您“实际上”对相同的数据进行了多次计数(在这里,您可以观察到541个额外的输入记录等于677-136,但不能保证这两个数字总是匹配的)