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;

}


ここで表示されている.