Save This Page
Home » hadoop-0.14.4 » org.apache » hadoop » mapred » [javadoc | source]
    1   /**
    2    * Licensed to the Apache Software Foundation (ASF) under one
    3    * or more contributor license agreements.  See the NOTICE file
    4    * distributed with this work for additional information
    5    * regarding copyright ownership.  The ASF licenses this file
    6    * to you under the Apache License, Version 2.0 (the
    7    * "License"); you may not use this file except in compliance
    8    * with the License.  You may obtain a copy of the License at
    9    *
   10    *     http://www.apache.org/licenses/LICENSE-2.0
   11    *
   12    * Unless required by applicable law or agreed to in writing, software
   13    * distributed under the License is distributed on an "AS IS" BASIS,
   14    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   15    * See the License for the specific language governing permissions and
   16    * limitations under the License.
   17    */
   18   
   19   package org.apache.hadoop.mapred;
   20   
   21   import java.io.IOException;
   22   
   23   import org.apache.hadoop.io.Writable;
   24   import org.apache.hadoop.io.WritableComparable;
   25   import org.apache.hadoop.util.ReflectionUtils;
   26   
   27   /** Default {@link MapRunnable} implementation.*/
   28   public class MapRunner implements MapRunnable {
   29     private Mapper mapper;
   30   
   31     public void configure(JobConf job) {
   32       this.mapper = (Mapper)ReflectionUtils.newInstance(job.getMapperClass(),
   33                                                         job);
   34     }
   35   
   36     public void run(RecordReader input, OutputCollector output,
   37                     Reporter reporter)
   38       throws IOException {
   39       try {
   40         // allocate key & value instances that are re-used for all entries
   41         WritableComparable key = input.createKey();
   42         Writable value = input.createValue();
   43         
   44         while (input.next(key, value)) {
   45           // map pair to output
   46           mapper.map(key, value, output, reporter);
   47         }
   48       } finally {
   49         mapper.close();
   50       }
   51     }
   52   
   53   }

Save This Page
Home » hadoop-0.14.4 » org.apache » hadoop » mapred » [javadoc | source]