job.getinstance(conf)的作用
时间: 2023-04-29 14:07:11 浏览: 121
job.getinstance(conf) 的作用是创建一个新的 MapReduce 作业实例,并使用给定的配置 (conf) 进行初始化。这样我们就可以使用这个实例来提交 MapReduce 作业,设置计算框架、输入输出路径、Mapper 和 Reducer 类等参数。
相关问题
public class TCAPP { public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { // 1.获取job Configuration conf=new Configuration(); Job job=Job.getInstance(conf); // 2.指定job使用的类
job.setJarByClass(TCAPP.class);
// 3.指定map和reduce使用的类
job.setMapperClass(TCMapper.class);
job.setReducerClass(TCReducer.class);
// 4.指定map输出的类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
// 5.指定reduce输出的类型
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
// 6.指定输入和输出路径
FileInputFormat.setInputPaths(job,new Path(args[0]));
FileOutputFormat.setOutputPath(job,new Path(args[1]));
// 7.提交job
boolean result=job.waitForCompletion(true);
System.exit(result?0:1);
}
这是一个MapReduce程序的主函数,可以实现对文本数据进行词频统计。其中,指定了Map和Reduce类,指定了输入和输出路径,最后提交job并退出程序。
Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCountDriver.class); job.setMapperClass(WordCountMapper.class); job.setCombinerClass(WordCountReducer.class); job.setReducerClass(WordCountReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1);
这是一个使用Hadoop MapReduce框架实现的Word Count程序的驱动程序代码。其中`job.setMapperClass(WordCountMapper.class)`指定了Map阶段使用的Mapper类,`job.setReducerClass(WordCountReducer.class)`指定了Reduce阶段使用的Reducer类,`FileInputFormat.addInputPath(job, new Path(args[0]))`指定输入路径,`FileOutputFormat.setOutputPath(job, new Path(args[1]))`指定输出路径。程序最后调用`job.waitForCompletion(true)`提交作业并等待作业完成,`System.exit(job.waitForCompletion(true) ? 0 : 1)`表示当作业完成时退出程序并返回0,否则返回1。
阅读全文