我正在实现一些 hadoop 应用程序。我的编码部分几乎完成了。但是想在阅读“Lin & Chris Dryer”的映射器设计模式书后改进编码器。至于这种方法的有效实现,需要在 map 函数中保留状态一段确定的时间,然后发出结果。因为这可以通过将一些数据结构作为映射器类中的成员变量然后在清理方法中发出来轻松实现。上面的实现在“org.apache.hadoop.mapreduce.mapper”接口下是可行的。
但实际上我无法在我的系统中设置新的hadoop api,所以使用没有“mapdreduce”包的hadoop0.18,而是使用“mapred”映射器接口来实现没有的map函数任何清理方法,如“mapredcue.mapper”。映射器设计模式中的这个仍然可以在旧接口中实现吗?虽然它有一个“关闭”方法,但此方法不提供任何参数或工具,以便您可以发出您的键值对。