map reduce ジョブ クラスに静的オブジェクトがあり、(メイン メソッドで) 1 回初期化してから、すべてのマッピングで関数を呼び出します。したがって、変数として宣言するこのオブジェクト MyObject があります。
static MyObject obj;
私のメイン関数では、ジョブを開始する前に次のように呼び出します。
obj = new MyObject();
obj.init();
そして、マップ関数で呼び出したい:
obj.execute();
しかし、何らかの理由でこれを試すと、null ポインター例外が発生します (obj が null であると表示されます)。メイン関数で初期化すると、マッパーはそれを初期化済みと見なすべきではありませんか? マッパーは静的変数を認識していますか?