0
hadoop Map-Reduceフレームワークでは、アプリケーションが実行されているときに、プログラムで実行中のワーカーの数を知ることができます。作業者の数はファイルの分割数と同じです。つまり、ファイル分割数を動的に知ることは可能ですか?マッパーは実行中のマッパーの数を知ることができますか?
hadoop Map-Reduceフレームワークでは、アプリケーションが実行されているときに、プログラムで実行中のワーカーの数を知ることができます。作業者の数はファイルの分割数と同じです。つまり、ファイル分割数を動的に知ることは可能ですか?マッパーは実行中のマッパーの数を知ることができますか?
mapred.map.tasks
とmared.reduce.tasks
設定プロパティ(ジョブが送信されると)を使用して、ジョブを構成するマップタスクとレデューサータスクの合計数を照会できます。
あなたがソースに目を通す場合、あなたはこれがorg.apache.hadoop.mapred.JobClient:784
に設定されて見ることができます(とはい、それは分割数が同じだ)
// Create the splits for the job
LOG.debug("Creating splits at " + fs.makeQualified(submitSplitFile));
int maps;
if (job.getUseNewMapper()) {
maps = writeNewSplits(context, submitSplitFile);
} else {
maps = writeOldSplits(job, submitSplitFile);
}
job.set("mapred.job.split.file", submitSplitFile.toString());
job.setNumMapTasks(maps); // here is where mapred.map.tasks is set
このプログラムは、プログラムで実行されているマッパーと減速の数を与えるのだろうか?このプログラムはどこに書きますか? – Kumar