Hadoop - 检测输入拆分的最后一条记录

标签 hadoop built-in

我有一个 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/

相关文章:

hadoop - 如何将新数据附加到现有的配置单元表

scala - 如何在运行期间在Spark中设置执行程序内存

python - 如何在编码时阻止自己覆盖 Python 函数?

c# - 是否有检查对象是否为内置数据类型的函数?

c - 定义我自己的 malloc 后出现段错误?

bash - 计算字符串中某个模式出现的次数(仅限 bash 内置函数)

hadoop - 无法检索路径中包含特殊字符的文件

shell - pyspark:读取文本文件,但数据框显示错误

java - checkAndPut 总是成功

python - 断点法的使用