我有一个 MapReduce 作业,其映射任务使用 TextInputFormat。我想知道,在 map 函数中,何时到达拆分的末尾(即最后一条记录刚刚传递给 map 函数)。
我知道有一些内置计数器(例如:Map Input Records 计数器,它计算到目前为止 ALL 映射器消耗的输入记录,但这不是我需要的)。
我可以使用这些内置计数器之一吗?
如果没有,您知道我如何在我的 map task 中获取这些信息吗?
最佳答案
您可以将逻辑放在 Mapper.cleanup(Context)
方法中(或 Mapper.close()
对于旧的 mapred api),这会在最后一条记录已由您的 map 方法处理。
关于Hadoop - 检测输入拆分的最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11404113/