Hadoop高级课程:MapReduce作业配置与提交
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询Hadoop高级课程:MapReduce作业配置与提交,在MapReduce中,每个作业由两部分组成:应用程序和作业配置。其中,作业配置内容包括环境配置和用户自定义配置两部分。环境配置由Hadoop自动添加,主要由mapred-default.xml和mapred-site.xml两个文件中的配置选项组合而成;用户自定义配置则由用户自己根据作业特点个性化定制而成,比如用户可设置作业名称,以及Mapper/Reducer、Reduce Task个数等。在新旧两套API中,作业配置接口发生了变化,首先通过一个例子感受一下使用上的不同。
旧API作业配置实例:
- JobConf job = new JobConf(new Configuration(), MyJob.class);
- job.setJobName("myjob");
- job.setMapperClass(MyJob.MyMapper.class);
- job.setReducerClass(MyJob.MyReducer.class);
- JobClient.runJob(job);
新API作业配置实例:
- Configuration conf = new Configuration();
- Job job = new Job(conf, "myjob ");
- job.setJarByClass(MyJob.class);
- job.setMapperClass(MyJob.MyMapper.class);
- job.setReducerClass(MyJob.MyReducer.class);
- System.exit(job.waitForCompletion(true) ? 0 : 1);
从以上两个实例可以看出,新版API用Job类代替了JobConf和JobClient两个类,这样,仅使用一个类的同时可完成作业配置和作业提交相关功能,进一步简化了作业编写方式。我们将在第5章介绍作业提交的相关细节,本小节重点从设计角度分析新旧两套API中作业配置的相关实现细节。