@Override
  public long getEstimatedSize(InputSplit inputSplit) throws IOException {
    long colProjSize = inputSplit.getLength();

    if (inputSplit instanceof ColumnarSplit) {
      colProjSize = ((ColumnarSplit) inputSplit).getColumnarProjectionSize();
      LOG.debug("Estimated column projection size: {}", colProjSize);
    } else if (inputSplit instanceof HiveInputFormat.HiveInputSplit) {
      InputSplit innerSplit = ((HiveInputFormat.HiveInputSplit) inputSplit).getInputSplit();

      if (innerSplit instanceof ColumnarSplit) {
        colProjSize = ((ColumnarSplit) innerSplit).getColumnarProjectionSize();
        LOG.debug("Estimated column projection size: {}", colProjSize);
      }
    }
    if (colProjSize <= 0) {
      /* columnar splits of unknown size - estimate worst-case */
      return Integer.MAX_VALUE;
    }
    return colProjSize;
  }
Split size estimator for columnar file formats.
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ColumnarSplitSizeEstimator.java