private KllHistogramEstimator getHistogramFromStats(ColumnStatisticsObj currColStatsObj) {
    ColumnStatisticsData columnStatisticsData = currColStatsObj.getStatsData();

    if (columnStatisticsData.isSetDateStats()) {
      return dateInspectorFromStats(currColStatsObj).getHistogramEstimator();
    }
    if (columnStatisticsData.isSetDecimalStats()) {
      return decimalInspectorFromStats(currColStatsObj).getHistogramEstimator();
    }
    if (columnStatisticsData.isSetDoubleStats()) {
      return doubleInspectorFromStats(currColStatsObj).getHistogramEstimator();
    }
    if (columnStatisticsData.isSetLongStats()) {
      return longInspectorFromStats(currColStatsObj).getHistogramEstimator();
    }
    if (columnStatisticsData.isSetTimestampStats()) {
      return timestampInspectorFromStats(currColStatsObj).getHistogramEstimator();
    }

    throw new IllegalArgumentException(currColStatsObj.getColType() + " is not supported for merging column stats histograms");
  }
The tuner controls the derivation of the NDV value when aggregating statistics from multiple partitions. It accepts
values in the range [0, 1] pushing the aggregated NDV closer to the lower, or upper bound respectively.
<p>
For example, consider the aggregation of three partitions with NDV values 2, 3, and 4, respectively. The NDV
lower bound is 4 (the highest among individual NDVs), and the upper bound is 9 (the sum of individual NDVs). In
this case the aggregated NDV will be in the range [4, 9] touching the bounds when the tuner is equal to 0, or 1
respectively.
</p>
<p>
It is optional and concrete implementations can choose to ignore it completely.
</p>
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/columnstats/aggr/ColumnStatsAggregator.java