如何从mapper向驱动程序报告值?

时间:2015-12-13 21:14:23

标签: hadoop mapreduce hadoop2

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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

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