首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

读hadoop0.23源码(一):Job

2012-12-23 
读hadoop0.23源码(1):Job每次配置job的时候,最后一步总是?System.exit(job.waitForCompletion(true) ? 0 :

读hadoop0.23源码(1):Job

每次配置job的时候,最后一步总是

?

System.exit(job.waitForCompletion(true) ? 0 : 1);

?进入waitForCompletion方法

?

public boolean waitForCompletion(boolean verbose                                   ) throws IOException, InterruptedException,                                            ClassNotFoundException {    if (state == JobState.DEFINE) {      submit();    }    if (verbose) {      jobClient.monitorAndPrintJob(conf, info);//设置参数是否打印执行过程    } else {      info.waitForCompletion();    }    return isSuccessful();  }

?

submit()方法是根据你设置的job属性来执行job,以下是submit()方法:

?

public void submit() throws IOException, InterruptedException,                               ClassNotFoundException {    ensureState(JobState.DEFINE);//确认job开始执行    setUseNewAPI();        // 连接到jobTrack并且提交job    connect();    info = jobClient.submitJobInternal(conf);    super.setJobID(info.getID());    state = JobState.RUNNING;   }

?

在connect()方法中实例化了jobClient,然后调用jobClient.submitJobInternal 提交job

热点排行