如何从映射器向驱动程序报告一个值?
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();
在我的 hadoop 应用程序中,我需要将一个值(映射器完成处理的时间)报告回驱动程序。我该怎么做?
您也许可以通过查看 Hadoop 为任何 mapreduce 作业生成的不同报告来获取此类信息。
但是,一般来说,您可以使用计数器将信息传回驱动程序。在您的映射器中,您可以执行以下操作:
context.getCounter("records", "last_seen").setValue(System.currentTimeMillis());
然后从驱动程序中读取为:
job.getCounters().getGroup("records").findCounter("last_seen").getValue();