mapreduce - Error when running Hadoop Map Reduce for map-only job -
i want run map-only job in hadoop mapreduce
, here's code:
configuration conf = new configuration(); job job = new job(conf); job.setjobname("import"); job.setmapperclass(map.class);//custom mapper job.setinputformatclass(textinputformat.class); job.setnumreducetasks(0); textinputformat.setinputpaths(job, new path("/home/jonathan/input"));
but error:
13/07/17 18:22:48 error security.usergroupinformation: priviledgedactionexception as: jonathan cause:org.apache.hadoop.mapred.invalidjobconfexception: output directory not set. exception in thread "main" org.apache.hadoop.mapred.invalidjobconfexception: output directory not set.
then tried use this:
job.setoutputformatclass(org.apache.hadoop.mapred.lib.nulloutputformat.class);
but gives me compilation error:
java: method setoutputformatclass in class org.apache.hadoop.mapreduce.job cannot applied given types; required: java.lang.class<? extends org.apache.hadoop.mapreduce.outputformat> found: java.lang.class<org.apache.hadoop.mapred.lib.nulloutputformat> reason: actual argument java.lang.class <org.apache.hadoop.mapred.lib.nulloutputformat> cannot converted java.lang.class<? extends org.apache.hadoop.mapreduce.outputformat> method invocation conversion
what doing wrong?
map-only jobs still need output location specified. error says, you're not specifying this.
i think mean job produces no output @ all. hadoop still wants specify output location, though nothing need written.
you want org.apache.hadoop.mapreduce.lib.output.nulloutputformat
not org.apache.hadoop.mapred.lib.nulloutputformat
, second error indicates though it's subtle.
Comments
Post a Comment