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