我需要知道Mappers在Reducer中输出的记录数。只有一个Reducer,所以我猜这简化了事情。
我的第一个想法是在映射器中增加一个计数器,并将其放入reducer中,后来我发现这样的计数器已经存在,但它似乎“不打算”从reducer中读取,而只能从驱动程序中读取。
我是否应该使用计数器以及如何正确使用它,或者是否有其他方法?
发布于 2015-04-10 06:01:34
是的,你可以利用一些固有的计数器,这些计数器甚至会在你的MR工作结束时被丢弃。在https://martin.atlassian.net/wiki/x/SYBmAQ上搜索“映射输出记录”,查看读取的记录总数的示例。
您还可以创建自己的计数器,如https://github.com/lestermartin/hadoop-exploration/blob/master/src/main/java/lestermartin/hadoop/exploration/wordcount/WordSizeMapper.java中的"WordsByLength“计数器所示。
https://stackoverflow.com/questions/29536572
复制相似问题