@Override
  @Explain(displayName = "Stats Publishing Key Prefix", explainLevels = { Level.EXTENDED })
  // FIXME: including this in the signature will almost certainly differ even if the operator is doing the same
  // there might be conflicting usages of logicalCompare?
  @Signature
  public String getStatsAggPrefix() {
    // dirName uniquely identifies destination directory of a FileSinkOperator.
    // If more than one FileSinkOperator write to the same partition, this dirName
    // should be different.
    return statsKeyPref;
  }
Construct the key prefix used as (intermediate) statistics publishing
and aggregation. During stats publishing phase, this key prefix will be
appended with the optional dynamic partition spec and the task ID. The
whole key uniquely identifies the output of a task for this job. In the
stats aggregation phase, all rows with the same prefix plus dynamic partition
specs (obtained at run-time after MR job finishes) will be serving as the
prefix: all rows with the same prefix (output of all tasks for this job)
will be aggregated.
@return key prefix used for stats publishing and aggregation.
ql/src/java/org/apache/hadoop/hive/ql/plan/FileSinkDesc.java