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

How to report a value back to the driver from mapper?

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

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

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

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

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

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