ユーザからの入力を取得し、作成したマッパークラスに渡そうとしていますが、ユーザが入力した実際の値を使用する代わりに常に値がゼロに初期化されます。Mapperクラスへの変数の送信
変数を取得するたびに常に同じ値を保持するようにするにはどうすればよいですか。私はjob1.setMapperClass(Parallel_for.class)に気付きました。クラスのインスタンスを作成し、変数を強制的に元の値に再初期化します。以下は2つのクラスへのリンクです。 RunnerToolクラスから時間の価値を得ようとしています。
マッパー
@Override
public void setup(Context context) {
int defaultValue = 1;
times = context.getConfiguration().getInt("parallel_for_iteration", defaultValue);
LOG.info(context.getConfiguration().get("parallel_for_iteration") + " Actually name from the commandline");
LOG.info(times + " Actually number of iteration from the commandline");
}
// RunnerToolsクラスの//設定方法
conf.setInt(反復回数)。
設定を使用しようとしましたが、プロパティのnullが返されていて、デフォルト値が返されます。私が間違っていることは何ですか? – asembereng
あなたのコードでは、キーを設定に入れることはありません。どうすればいいですか? –
私はconf.setInt(ITERATION、times)を使用しました。反復はprotected final static Stringと定義されています。ITERATION = \t "parallel_for_iteration"; – asembereng