Thank you Bejoy for your prompt response! I have gotten past the error! -----Original Message----- From: Bejoy Ks [mailto:bejoy.had...@gmail.com] Sent: Thursday, July 05, 2012 5:39 PM To: common-user@hadoop.apache.org Subject: Re: Error using MultipleInputs
Hi Sanchita Try your code after commenting the following Line of code, //conf.setInputFormat(TextInputFormat.class); AFAIK This explicitly sets the input format as TextInputFormat instead of MultipleInput and hence the compiler throws an error stating 'no input path specified'. Regards Bejoy KS On Thu, Jul 5, 2012 at 5:19 PM, Sanchita Adhya <sad...@infocepts.com> wrote: > Hi, > > > > I am using cloudera's hadoop version - Hadoop 0.20.2-cdh3u3 and trying > to use the MultipleInputs incorporating separate mapper class in the > following > manner- > > > > public static void main(String[] args) throws Exception { > > JobConf conf = new JobConf(IntegrateExisting.class); > > conf.setJobName("IntegrateExisting"); > > > > conf.setOutputKeyClass(Text.class); > > conf.setOutputValueClass(Text.class); > > > > Path existingKeysInputPath = new Path(args[0]); > > Path newKeysInputPath = new Path(args[1]); > > Path outputPath = new Path(args[2]); > > > > MultipleInputs.addInputPath(conf, existingKeysInputPath, > TextInputFormat.class, MapExisting.class); > > MultipleInputs.addInputPath(conf, newKeysInputPath, > TextInputFormat.class, MapNew.class); > > > > conf.setCombinerClass(ReduceAndFilterOut.class); > > conf.setReducerClass(ReduceAndFilterOut.class); > > > > conf.setInputFormat(TextInputFormat.class); > > conf.setOutputFormat(TextOutputFormat.class); > > > > FileOutputFormat.setOutputPath(conf, outputPath); > > > > > > //FileInputFormat.addInputPath(conf,existingKeysInputPath); > > //FileInputFormat.addInputPath(conf,newKeysInputPath); > > > > JobClient.runJob(conf); > > } > > > > Without the commented lines in the above code, the MR job fails with > the following error- > > > > 12/07/05 16:59:25 ERROR security.UserGroupInformation: > PriviledgedActionException as:root (auth:SIMPLE) cause:java.io.IOException: > No input paths specified in job > > Exception in thread "main" java.io.IOException: No input paths > specified in job > > at > org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.ja > va:153 > ) > > at > org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.jav > a:205) > > at > org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:971) > > at > org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:963) > > at > org.apache.hadoop.mapred.JobClient.access$500(JobClient.java:170) > > at > org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:880) > > at > org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:833) > > at java.security.AccessController.doPrivileged(Native Method) > > at javax.security.auth.Subject.doAs(Subject.java:396) > > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformat > ion.ja > va:1157) > > at > org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:83 > 3) > > at > org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:807) > > at > org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1242) > > at > org.myorg.IntegrateExisting.main(IntegrateExisting.java:122) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > ava:39 > ) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess > orImpl > .java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at org.apache.hadoop.util.RunJar.main(RunJar.java:197) > > > > Uncommenting the lines, leads to the following error in the mappers- > > > > java.lang.ClassCastException: org.apache.hadoop.mapred.FileSplit > cannot be cast to org.apache.hadoop.mapred.lib.TaggedInputSplit > > at > org.apache.hadoop.mapred.lib.DelegatingMapper.map(DelegatingMapper.jav > a:48) > > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50) > > at > org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:391) > > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:325) > > at org.apache.hadoop.mapred.Child$4.run(Child.java:270) > > at java.security.AccessController.doPrivileged(Native Method) > > at javax.security.auth.Subject.doAs(Subject.java:396) > > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformat > ion.ja > va:1157) > > at org.apache.hadoop.mapred.Child.main(Child.java:264) > > > > I see the MAPREDUCE-1178 that discusses the second error is included > in the > CDH3 version. Is there any code missing from the above piece? > > > > Thanks for the help. > > > > Regards, > > Sanchita > > >