在我的 hadoop 应用程序中,我需要将一个值(映射器完成处理的时间)报告回驱动程序。我该怎么做?
最佳答案
您也许可以通过查看 Hadoop 为任何 mapreduce 作业生成的不同报告来获取此类信息。
但是,一般来说,您可以使用计数器将信息传回给驱动程序。在您的映射器中,您可以执行以下操作:
context.getCounter("records", "last_seen").setValue(System.currentTimeMillis());
然后从驱动程序中读取它:
job.getCounters().getGroup("records").findCounter("last_seen").getValue();
关于hadoop - 如何从映射器向驱动程序报告一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34256422/