title: Run sequential jobs Hadoop
body: <p>I am using ChainMapper what happens is that they run in a pipeline fashion but what I want is that each mapper waits that the previous one has totally completed it's job.  </p>
  
  <p>Let's take the count words example where the firstmapper breaks the line to words, secondmapper counts uppercase word and thirdmapper counts the lower case words.  </p>
  
  <p>Now currently this runs in this fashion the secondmapper can start counting words even if the firstmapper has not finished reading the whole file.  </p>
  
  <p>What I want is to force the secondmapper to wait till the firstmapper has totally finished reading the input file then it can start.  </p>
  
  <p>My current configurations are the following: </p>
  
  <pre><code>JobConf conf = new JobConf(getConf(), ChainDriver.class);
          conf.setJobName("wordcount");
  
        ....
  
         //first mapper
          JobConf mapAConf = new JobConf(false);
          ChainMapper.addMapper(conf, TokenizerMapper.class, LongWritable.class,
                  Text.class, Text.class, IntWritable.class, true, mapAConf);
  
          //secondmapper
          JobConf mapBConf = new JobConf(false);
          ChainMapper.addMapper(conf, UpperCaserMapper.class, Text.class,
                  IntWritable.class, Text.class, IntWritable.class, true,
                  mapBConf);
        .....
  
          JobConf reduceConf = new JobConf(false);
          ChainReducer.setReducer(conf, WordCountReducer.class, Text.class,
                  IntWritable.class, Text.class, IntWritable.class, true,
                  reduceConf);
     JobClient.runJob(conf);
          return 0;
      }
  </code></pre>
  
  <p>Is there a way to force the to run sequentially one after another ?</p>