我正在制作地图缩减计划。我尝试使用setLong方法将参数传递给reduce方法中的上下文配置,然后在完成后在主
中读取它们 减速器中的:
context.getConfiguration().setLong(key, someLong);
在作业完成后的主页中,我尝试阅读:
long val = job.getConfiguration().getLong(key, -1);
但我总是得到-1。
当我尝试在reducer内部阅读时,我看到该值已设置并且我得到了正确的答案。
我错过了什么吗?谢谢
答案 0 :(得分:3)
您可以使用计数器:在reducers中设置和更新它们的值,然后您可以在客户端应用程序(Main)中访问它们。
答案 1 :(得分:2)
您可以将配置从主要任务转换为地图任务或减少任务,但您无法将其转换回来。配置转换的过程是:
如果要将配置翻译回来,可以使用另一个HDFS文件:在Reducer上更新文件,并在作业完成后阅读