public static <K2, V2> void setMapperClass(Job job,
    Class<? extends Mapper<ImmutableBytesWritable, Result, K2, V2>> cls) {
    if (MultithreadedTableMapper.class.isAssignableFrom(cls)) {
      throw new IllegalArgumentException(
        "Can't have recursive " + "MultithreadedTableMapper instances.");
    }
    job.getConfiguration().setClass(MAPPER_CLASS, cls, Mapper.class);
  }
Set the application's mapper class.
@param <K2> the map output key type
@param <V2> the map output value type
@param job  the job to modify
@param cls  the class to use as the mapper
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.java