複数の map() 呼び出しで使用できるメンバー オブジェクトを追加できるかどうか疑問に思っています。たとえば、StringBuilder:
private StringBuilder builder;
public void map(...){
...
builder.setLength(0);
builder.append(a);
builder.append(b);
builder.append(c);
d = builder.toString();
...
}
明らかに、マッパー オブジェクトが複数のスレッドで共有されている場合、上記のビルダー オブジェクトは、複数のスレッドから同時にアクセスされるため、期待どおりに動作しません。
私の質問は、hadoop の各スレッドが専用のマッパー オブジェクトを 1 つ使用することは保証されているのでしょうか? それとも設定可能な動作ですか?
ありがとう