推荐答案
在 MapReduce 中配置作业通常涉及以下几个步骤:
创建 Job 对象:
Job job = Job.getInstance(conf, "jobName");
设置输入和输出路径:
FileInputFormat.addInputPath(job, new Path("inputPath")); FileOutputFormat.setOutputPath(job, new Path("outputPath"));
设置 Mapper 和 Reducer 类:
job.setMapperClass(MyMapper.class); job.setReducerClass(MyReducer.class);
设置输出键值类型:
job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class);
提交作业:
job.waitForCompletion(true);
本题详细解读
1. 创建 Job 对象
在 MapReduce 中,Job
对象是作业的核心。通过 Job.getInstance()
方法可以创建一个新的作业实例。conf
是 Hadoop 配置对象,jobName
是作业的名称。
2. 设置输入和输出路径
FileInputFormat.addInputPath()
方法用于指定输入数据的路径,FileOutputFormat.setOutputPath()
方法用于指定输出数据的路径。输入路径可以是单个文件或目录,输出路径必须是一个不存在的目录。
3. 设置 Mapper 和 Reducer 类
job.setMapperClass()
和 job.setReducerClass()
方法分别用于设置 Mapper 和 Reducer 类。这些类必须实现 Mapper
和 Reducer
接口。
4. 设置输出键值类型
job.setOutputKeyClass()
和 job.setOutputValueClass()
方法用于设置输出键和值的类型。这些类型通常是 Hadoop 提供的 Writable 类型,如 Text
和 IntWritable
。
5. 提交作业
job.waitForCompletion(true)
方法用于提交作业并等待其完成。参数 true
表示打印作业的进度信息。
通过这些步骤,可以完成 MapReduce 作业的配置和提交。