@Override public Aggregator factorize(final ColumnSelectorFactory columnFactory) { ColumnSelectorPlus<CardinalityAggregatorColumnSelectorStrategy>[] selectorPluses = DimensionHandlerUtils.createColumnSelectorPluses( STRATEGY_FACTORY, fields, columnFactory ); if (selectorPluses.length == 0) { return NoopAggregator.instance(); } return new CardinalityAggregator(selectorPluses, byRow); }
@Override public Aggregator factorize(ColumnSelectorFactory metricFactory) { BaseObjectColumnValueSelector selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return NoopAggregator.instance(); } final Class classOfObject = selector.classOfObject(); if (classOfObject.equals(Object.class) || HyperLogLogCollector.class.isAssignableFrom(classOfObject)) { return new HyperUniquesAggregator(selector); } throw new IAE("Incompatible type for metric[%s], expected a HyperUnique, got a %s", fieldName, classOfObject); }
@Override public Aggregator factorize(ColumnSelectorFactory metricFactory) { ColumnValueSelector<?> selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return NoopAggregator.instance(); } if ("float".equalsIgnoreCase(inputType)) { return new VarianceAggregator.FloatVarianceAggregator(selector); } else if ("long".equalsIgnoreCase(inputType)) { return new VarianceAggregator.LongVarianceAggregator(selector); } else if ("variance".equalsIgnoreCase(inputType)) { return new VarianceAggregator.ObjectVarianceAggregator(selector); } throw new IAE( "Incompatible type for metric[%s], expected a float, long or variance, got a %s", fieldName, inputType ); }
@Override public Aggregator factorize(final ColumnSelectorFactory columnFactory) { ColumnSelectorPlus<CardinalityAggregatorColumnSelectorStrategy>[] selectorPluses = DimensionHandlerUtils.createColumnSelectorPluses( STRATEGY_FACTORY, fields, columnFactory ); if (selectorPluses.length == 0) { return NoopAggregator.instance(); } return new CardinalityAggregator(selectorPluses, byRow); }
@Override public Aggregator factorize(ColumnSelectorFactory metricFactory) { BaseObjectColumnValueSelector selector = metricFactory.makeColumnValueSelector(fieldName); if (selector instanceof NilColumnValueSelector) { return NoopAggregator.instance(); } final Class classOfObject = selector.classOfObject(); if (classOfObject.equals(Object.class) || HyperLogLogCollector.class.isAssignableFrom(classOfObject)) { return new HyperUniquesAggregator(selector); } throw new IAE("Incompatible type for metric[%s], expected a HyperUnique, got a %s", fieldName, classOfObject); }