On closer inspection, I see that of my two tasks: the first processes 1 input record and the other processes 0 input records. So I think this solution is correct. But perhaps it is not the most direct way to get the job done?
From: Mike Spreitzer/Watson/IBM@IBMUS To: [email protected], Date: 02/28/2013 04:18 PM Subject: How to make a MapReduce job with no input? I am using the mapred API of Hadoop 1.0. I want to make a job that does not really depend on any input (the job conf supplies all the info needed in Mapper). What is a good way to do this? What I have done so far is write a job in which MyMapper.configure(..) reads all the real input from the JobConf, and MyMapper.map(..) ignores the given key and value, writing the output implied by the JobConf. I set the InputFormat to TextInputFormat and the input paths to be a list of one filename; the named file contains one line of text (the word "one"), terminated by a newline. When I run this job (on Linux, hadoop-1.0.0), I find it has two map tasks --- one reads the first two bytes of my non-input file, and other reads the last two bytes of my non-input file! How can I make a job with just one map task? Thanks, Mike
