gpt4 book ai didi

dictionary - 一些 map 在运行 hadoop 作业时会丢失用户定义的计数器

转载 作者:可可西里 更新时间:2023-11-01 16:18:44 25 4
gpt4 key购买 nike

我有一个 Hadoop 作业,我自己定义了几个计数器。当我运行此作业时( map 数量 > 500),我发现一些 map task 丢失了用户定义的计数器,但 Hadoop 内置计数器(如 map 输入记录)工作正常。该问题随机出现在某些 DataNode 上。这很困惑。那么问题是什么?

最佳答案

用 try-catch block 包装您的 map() 方法逻辑,并在 catch block 中递增另一个以异常消息命名的计数器:

@Override
public void map(ByteBuffer key,SortedMap<ByteBuffer, IColumn> value, Context context)
throws IOException, InterruptedException {

try {

// Map logic goes here.

context.getCounter("Custom","Counter").increment(1);

} catch (Exception e) {
context.getCounter("Exception",e.getMessage()).increment(1);
}
// End map logic

}

您的行处理可能会抛出异常,从而绕过增量逻辑。

关于dictionary - 一些 map 在运行 hadoop 作业时会丢失用户定义的计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13576894/

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