private static void closeOutputTasks(
      Map<String, LogicalOutput> outputs, IOConsumer<MROutput> committer) throws IOException {
    for (LogicalOutput output : outputs.values()) {
      if (output instanceof MROutput) {
        MROutput mrOutput = (MROutput) output;
        if (mrOutput.isCommitRequired()) {
          committer.accept(mrOutput);
        }
      }
    }
  }
This provides the ability to pass things into TezProcessor, which is normally impossible
because of how Tez APIs are structured. Piggyback on ExecutionContext.
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezProcessor.java