code: public void setMapOutputKeyClass(Class<?> theClass
                                     ) throws IllegalStateException {
      ensureState(JobState.DEFINE);
      conf.setMapOutputKeyClass(theClass);
    }
docs: Set the key class for the map output data. This allows the user to
  specify the map output key class to be different than the final output
  value class.
  
  @param theClass the map output key class.
  @throws IllegalStateException if the job is submitted