在我的hadoop应用程序中,我需要向驱动程序报告一个值(让我们计时映射器完成处理的时间)。我该怎么做?
您可以通过查看Hadoop为任何mapreduce作业生成的不同报告来获得这些信息。
但是,通常情况下,您可以使用计数器将信息传递回驱动程序。在您的映射器中,您可以执行以下操作:
context.getCounter("records", "last_seen").setValue(System.currentTimeMillis());
然后从驱动程序中读取为:
job.getCounters().getGroup("records").findCounter("last_seen").getValue();