hadoop - 如何从映射器向驱动程序报告一个值?

标签 hadoop mapreduce hadoop2

在我的 hadoop 应用程序中,我需要将一个值(映射器完成处理的时间)报告回驱动程序。我该怎么做?

最佳答案

您也许可以通过查看 Hadoop 为任何 mapreduce 作业生成的不同报告来获取此类信息。

但是,一般来说,您可以使用计数器将信息传回给驱动程序。在您的映射器中,您可以执行以下操作:

context.getCounter("records", "last_seen").setValue(System.currentTimeMillis());

然后从驱动程序中读取它:

job.getCounters().getGroup("records").findCounter("last_seen").getValue();

关于hadoop - 如何从映射器向驱动程序报告一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34256422/

相关文章:

ubuntu - 安装 Hadoop -- export JAVA_HOME=/usr/java/latest

java - Pig脚本/命令来过滤多个字符串上的文件

java - 为什么我在 hadoop 的 mapreduce 中得到 3xx 重复项?

rest - 如何集成 Ambari REST API 用于集群监控示例

hadoop - 为什么 JPS 显示没有进程在运行?

java - 如何将Java代码转换为mapreduce?

sql - 如何获得每天 2 列总计数的百分比?

hadoop - MapReduce-是否可以通过CustomOutputFormat类覆盖输出目录?

hadoop - Spark 无法再执行作业。执行者创建目录失败

hadoop - ZlibDecompressor引发不正确的 header 检查异常