what is the basic difference between jobconf and job?

user1585111 picture user1585111 · Aug 23, 2013 · Viewed 13.4k times · Source

hi i wanted to know the basic difference between jobconf and job objects,currently i am submitting my job like this

JobClient.runJob(jobconf);

i saw other way of submitting jobs like this

Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);     
return 0;

and how can i specify the sortcomparator class for the job using jobconf?

can any one explain me this concept?

Answer

jkovacs picture jkovacs · Aug 23, 2013

In short: JobConf and everything else in the org.apache.hadoop.mapred package is part of the old API used to write hadoop jobs, Job and everything in the org.apache.hadoop.mapreduce package is part of the new and preferred API to write hadoop jobs. Both APIs generally provide equivalent core functionality.

If you're new to hadoop just start using the new API (i.e. Job and Configuration instead of JobConf). Make sure to not import anything from the mapred package. When you find examples on the internet using the old API you can use this presentation or this guide to translate it to the new API.