@Override
  public void configure(JobConf job) {
    jc = job;
    MapWork mapWork = Utilities.getMapWork(job);

    try {
      if (mapWork instanceof MergeFileWork) {
        MergeFileWork mfWork = (MergeFileWork) mapWork;
        String alias = mfWork.getAliasToWork().keySet().iterator().next();
        op = mfWork.getAliasToWork().get(alias);
        if (op instanceof AbstractFileMergeOperator) {
          mergeOp = (AbstractFileMergeOperator) op;
          mergeOp.initializeOp(jc);
          row = new Object[2];
          abort = false;
        } else {
          abort = true;
          throw new RuntimeException(
              "Merge file work's top operator should be an" +
                  " instance of AbstractFileMergeOperator");
        }
      } else {
        abort = true;
        throw new RuntimeException("Map work should be a merge file work.");
      }
    } catch (HiveException e) {
      abort = true;
      throw new RuntimeException(e);
    }
  }
Mapper for fast file merging of ORC and RC files. This is very similar to
ExecMapper except that root operator is AbstractFileMergeOperator. This class
name is used for serialization and deserialization of MergeFileWork.
ql/src/java/org/apache/hadoop/hive/ql/io/merge/MergeFileMapper.java