public void setFieldValue(_Fields field, Object value) { switch (field) { case COL_NAME: if (value == null) { unsetColName(); } else { setColName((String)value); } break; case COL_TYPE: if (value == null) { unsetColType(); } else { setColType((String)value); } break; case STATS_DATA: if (value == null) { unsetStatsData(); } else { setStatsData((ColumnStatisticsData)value); } break; } }
LongColumnStatsDataInspector longStats = new LongColumnStatsDataInspector(); statsData.setLongStats(longStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("double")) { DoubleColumnStatsDataInspector doubleStats = new DoubleColumnStatsDataInspector(); statsData.setDoubleStats(doubleStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("string")) { StringColumnStatsDataInspector stringStats = new StringColumnStatsDataInspector(); statsData.setStringStats(stringStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("boolean")) { BooleanColumnStatsData booleanStats = new BooleanColumnStatsData(); statsData.setBooleanStats(booleanStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("binary")) { BinaryColumnStatsData binaryStats = new BinaryColumnStatsData(); statsData.setBinaryStats(binaryStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("decimal")) { DecimalColumnStatsDataInspector decimalStats = new DecimalColumnStatsDataInspector(); statsData.setDecimalStats(decimalStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("date")) { DateColumnStatsDataInspector dateStats = new DateColumnStatsDataInspector(); statsData.setDateStats(dateStats); statsObj.setStatsData(statsData);
statsObj.setStatsData(statsData); } else if (columnType.equalsIgnoreCase("double") || columnType.equalsIgnoreCase("float")) { DoubleColumnStatsDataInspector doubleStats = new DoubleColumnStatsDataInspector(); statsObj.setStatsData(statsData); } else if (columnType.equalsIgnoreCase("string") || columnType.toLowerCase().startsWith("char") || columnType.toLowerCase().startsWith("varchar")) { //char(x),varchar(x) types statsObj.setStatsData(statsData); } else if (columnType.equalsIgnoreCase("boolean")) { BooleanColumnStatsData booleanStats = new BooleanColumnStatsData(); statsObj.setStatsData(statsData); } else if (columnType.equalsIgnoreCase("binary")) { BinaryColumnStatsData binaryStats = new BinaryColumnStatsData(); statsObj.setStatsData(statsData); } else if (columnType.toLowerCase().startsWith("decimal")) { //decimal(a,b) type DecimalColumnStatsDataInspector decimalStats = new DecimalColumnStatsDataInspector(); statsObj.setStatsData(statsData); } else if (columnType.equalsIgnoreCase("date")) { DateColumnStatsDataInspector dateStats = new DateColumnStatsDataInspector(); statsObj.setStatsData(statsData); } else { throw new SemanticException("Unsupported type");
LongColumnStatsData longStats = new LongColumnStatsData(); statsData.setLongStats(longStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("double")) { DoubleColumnStatsData doubleStats = new DoubleColumnStatsData(); statsData.setDoubleStats(doubleStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("string")) { StringColumnStatsData stringStats = new StringColumnStatsData(); statsData.setStringStats(stringStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("boolean")) { BooleanColumnStatsData booleanStats = new BooleanColumnStatsData(); statsData.setBooleanStats(booleanStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("binary")) { BinaryColumnStatsData binaryStats = new BinaryColumnStatsData(); statsData.setBinaryStats(binaryStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("decimal")) { DecimalColumnStatsData decimalStats = new DecimalColumnStatsData(); statsData.setDecimalStats(decimalStats); statsObj.setStatsData(statsData); } else if (s.equalsIgnoreCase("date")) { DateColumnStatsData dateStats = new DateColumnStatsData(); statsData.setDateStats(dateStats); statsObj.setStatsData(statsData);
colName, columnStatisticsData.getStringStats().getNumDVs(), partNames.size(), colStatsWithSourceInfo.size()); statsObj.setStatsData(columnStatisticsData); return statsObj;
private DecimalColumnStatsDataInspector createData(ColumnStatisticsObj objNulls, Decimal lowValue, Decimal highValue) { ColumnStatisticsData statisticsData = new ColumnStatisticsData(); DecimalColumnStatsDataInspector data = new DecimalColumnStatsDataInspector(); statisticsData.setDecimalStats(data); objNulls.setStatsData(statisticsData); data.setLowValue(lowValue); data.setHighValue(highValue); return data; } }
private DateColumnStatsDataInspector createData(ColumnStatisticsObj objNulls, Date lowValue, Date highValue) { ColumnStatisticsData statisticsData = new ColumnStatisticsData(); DateColumnStatsDataInspector data = new DateColumnStatsDataInspector(); statisticsData.setDateStats(data); objNulls.setStatsData(statisticsData); data.setLowValue(lowValue); data.setHighValue(highValue); return data; } }
colName, columnStatisticsData.getDoubleStats().getNumDVs(), partNames.size(), colStatsWithSourceInfo.size()); statsObj.setStatsData(columnStatisticsData); return statsObj;
colName, columnStatisticsData.getLongStats().getNumDVs(), partNames.size(), colStatsWithSourceInfo.size()); statsObj.setStatsData(columnStatisticsData); return statsObj;
colName, columnStatisticsData.getDateStats().getNumDVs(), partNames.size(), colStatsWithSourceInfo.size()); statsObj.setStatsData(columnStatisticsData); return statsObj;
@Override public ColumnStatisticsObj aggregate(List<ColStatsObjWithSourceInfo> colStatsWithSourceInfo, List<String> partNames, boolean areAllPartsFound) throws MetaException { ColumnStatisticsObj statsObj = null; String colType = null; String colName = null; BinaryColumnStatsData aggregateData = null; for (ColStatsObjWithSourceInfo csp : colStatsWithSourceInfo) { ColumnStatisticsObj cso = csp.getColStatsObj(); if (statsObj == null) { colName = cso.getColName(); colType = cso.getColType(); statsObj = ColumnStatsAggregatorFactory.newColumnStaticsObj(colName, colType, cso.getStatsData().getSetField()); } BinaryColumnStatsData newData = cso.getStatsData().getBinaryStats(); if (aggregateData == null) { aggregateData = newData.deepCopy(); } else { aggregateData.setMaxColLen(Math.max(aggregateData.getMaxColLen(), newData.getMaxColLen())); aggregateData.setAvgColLen(Math.max(aggregateData.getAvgColLen(), newData.getAvgColLen())); aggregateData.setNumNulls(aggregateData.getNumNulls() + newData.getNumNulls()); } } ColumnStatisticsData columnStatisticsData = new ColumnStatisticsData(); columnStatisticsData.setBinaryStats(aggregateData); statsObj.setStatsData(columnStatisticsData); return statsObj; } }
colName, columnStatisticsData.getDecimalStats().getNumDVs(), partNames.size(), colStatsWithSourceInfo.size()); statsObj.setStatsData(columnStatisticsData); return statsObj;
cso.setStatsData(csd); return cso;
cso.setStatsData(csd); return cso;
private ColumnStatisticsObj getDummyLongColStat(String colName, int highVal, int lowVal, int numDVs, int numNulls) { ColumnStatisticsObj aggrColStats = new ColumnStatisticsObj(); aggrColStats.setColName(colName); aggrColStats.setColType("long"); LongColumnStatsData longStatsData = new LongColumnStatsData(); longStatsData.setHighValue(highVal); longStatsData.setLowValue(lowVal); longStatsData.setNumDVs(numDVs); longStatsData.setNumNulls(numNulls); ColumnStatisticsData aggrColStatsData = new ColumnStatisticsData(); aggrColStatsData.setLongStats(longStatsData); aggrColStats.setStatsData(aggrColStatsData); return aggrColStats; } }
colStatsData.setDateStats(dateStats); statsObj.setStatsData(colStatsData); return statsObj;
dcsd.setBitVectors(bitVectors[0]); data.setLongStats(dcsd); obj.setStatsData(data); cs.addToStatsObj(obj); store.updatePartitionColumnStatistics(cs, partVal, null, -1);
colStatsData.setDateStats(dateStats); statsObj.setStatsData(colStatsData); return statsObj;
@Override public ColumnStatisticsObj aggregate(List<ColStatsObjWithSourceInfo> colStatsWithSourceInfo, List<String> partNames, boolean areAllPartsFound) throws MetaException { ColumnStatisticsObj statsObj = null; String colType = null; String colName = null; BooleanColumnStatsData aggregateData = null; for (ColStatsObjWithSourceInfo csp : colStatsWithSourceInfo) { ColumnStatisticsObj cso = csp.getColStatsObj(); if (statsObj == null) { colName = cso.getColName(); colType = cso.getColType(); statsObj = ColumnStatsAggregatorFactory.newColumnStaticsObj(colName, colType, cso.getStatsData().getSetField()); } BooleanColumnStatsData newData = cso.getStatsData().getBooleanStats(); if (aggregateData == null) { aggregateData = newData.deepCopy(); } else { aggregateData.setNumTrues(aggregateData.getNumTrues() + newData.getNumTrues()); aggregateData.setNumFalses(aggregateData.getNumFalses() + newData.getNumFalses()); aggregateData.setNumNulls(aggregateData.getNumNulls() + newData.getNumNulls()); } } ColumnStatisticsData columnStatisticsData = new ColumnStatisticsData(); columnStatisticsData.setBooleanStats(aggregateData); statsObj.setStatsData(columnStatisticsData); return statsObj; }
statsData.getDoubleStats().setNumNulls(numNulls); statsObj.setStatsData(statsData); statsObjs.add(statsObj); statsData.getStringStats().setNumNulls(numNulls); statsObj.setStatsData(statsData); statsObjs.add(statsObj);