Hadoopのソースを読もう
package org.apache.hadoop.examples.Grepが定義されいるGrep.javaから見てみる.mapreduceの実行は,
JobClient.runJob(grepJob);
でされている.runJobは,staticで宣言されていて,
JobClient jc = new JobClient(job);
でJobClientが定義されていて,
running = jc.submitJob(job);
で実行が始まる.あとは,1秒ごとにループして,runningが終わっていれば終了.Grepを実行すると,map 20%, reduce 0%みたいに進行が表示されるけどこれは,
String report =
(" map " + StringUtils.formatPercent(running.mapProgress(), 0)+
" reduce " +
StringUtils.formatPercent(running.reduceProgress(), 0));
if (!report.equals(lastReport)) {
LOG.info(report);
lastReport = report;
}
ここで表示されている.