小编JRa*_*aSH的帖子

Hadoop的Mapper对象是否跨多个线程共享?

我想知道是否可以添加一个可以在多个map()调用中使用的成员对象.例如,StringBuilder:

private StringBuilder builder;

public void map(...){
    ...

    builder.setLength(0);
    builder.append(a);
    builder.append(b);
    builder.append(c);
    d = builder.toString();

    ...
}
Run Code Online (Sandbox Code Playgroud)

显然,如果映射器对象跨多个线程共享,则由于来自多个线程的并发访问,上面的构建器对象将不会按预期运行.

所以我的问题是:是否确保hadoop中的每个线程都将使用一个专用的映射器对象?或者它是可配置的行为?

谢谢

multithreading hadoop

5
推荐指数
1
解决办法
860
查看次数

标签 统计

hadoop ×1

multithreading ×1