HI GUYS
I want to use the the
org.apache.hadoop.mapreduce.lib.input.MultipleInputs;
However it comes a compile error in my eclipse(indigo):
public static void main(String[] args) throws IOException,
InterruptedException, ClassNotFoundException {
Configuration conf = new Configuration();
String[] otheArgs = new GenericOptionsParser(conf,args).getRemainingArgs();
if(otheArgs.length != 2){
System.err.println("Usage:aaaa");
System.exit(2);
}
Job job = new Job(conf,"Data test2");
job.setReducerClass(CPUReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
MultipleInputs.addInputPath(job, new Path(otheArgs[0]),
TextInputFormat.class,CPUMapper.class);
MultipleInputs.addInputPath(job, new Path(otheArgs[1]),
TextInputFormat.class,NodeReducer.class);
---->The method addInputPath(Job, Path, Class<? extends InputFormat>,
Class<? extends Mapper>) in the type MultipleInputs is not applicable for
the arguments (Job, Path, Class<TextInputFormat>, Class<NodeReducer>
FileOutputFormat.setOutputPath(job,new Path(otheArgs[2]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
My questions:
1.Does the org.apache.hadoop.mapreduce.lib.input.MultipleInputs belong
to the new Hadoop API?
Why this error come out,did i miss something?
2.I also found the constructor Job(Configuration, String) is deprecated
when i declare Job job = new Job(conf,"Data test2").
According to the Hadoop Defenitive Guide ,the API Job is the new
Hadoop API. So why the job api is deprecated .
I use the hadoop 2.0.0 with the CDH 4.1.2 .
please help me.
Thanks you.
Regards