gpt4 book ai didi

hadoop - 在 Hadoop Map-Reduce 中向 reducer 添加计数器

转载 作者:可可西里 更新时间:2023-11-01 15:24:02 27 4
gpt4 key购买 nike

我正在尝试编写一个 map reduce 作业并想向我的 reducer 添加一个计数器。但是,当我运行作业时,计数器似乎没有出现在输出中。

目前我正在使用这条线(Java):

context.getCounter(ReducerCounters.COUNTDISTINCT).increment(1);

老实说,我不能 100% 确定是否可以在 reducer 上使用这样的计数器。如果有人知道这是可能的还是不可能的,请告诉我。我似乎无法在网上找到任何关于 reducer 计数器的可靠示例。

非常感谢。

最佳答案

以下是我的导入:

import org.apache.hadoop.mapreduce.Counter;
import org.apache.hadoop.mapreduce.Counters;

这作为枚举存在于我的驱动程序类中。

 public enum ReducerCounters {
COUNTDISTINCT
};

这存在于我的驱动程序的运行函数中。

    job.waitForCompletion(true);
Counters cn=job.getCounters();
// Find the specific counters that you want to print
Counter c1=cn.findCounter(ReducerCounters.COUNTDISTINCT);
System.out.println("Displaying just the value " + c1.getValue());

还要确保您在 pom 文件中使用最新的 hadoop 客户端版本。不要使用最后发布的 hadoop-core 版本,因为它没有更新。我刚刚测试了它。计数器在我的 mapper 和 reducer 中都有效。

关于hadoop - 在 Hadoop Map-Reduce 中向 reducer 添加计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com