@Override public AggregatorFactory getCombiningFactory() { return new FloatMinAggregatorFactory(name, name, null, macroTable); }
@Override protected BaseFloatColumnValueSelector selector(ColumnSelectorFactory metricFactory) { return getFloatColumnSelector( metricFactory, Float.POSITIVE_INFINITY ); }
@Override public List<AggregatorFactory> getRequiredColumns() { return Collections.singletonList(new FloatMinAggregatorFactory(fieldName, fieldName, expression, macroTable)); }
@Override protected BaseFloatColumnValueSelector selector(ColumnSelectorFactory metricFactory) { return getFloatColumnSelector( metricFactory, Float.POSITIVE_INFINITY ); }
private static AggregatorFactory createMinAggregatorFactory( final ValueType aggregationType, final String name, final String fieldName, final String expression, final ExprMacroTable macroTable ) { switch (aggregationType) { case LONG: return new LongMinAggregatorFactory(name, fieldName, expression, macroTable); case FLOAT: return new FloatMinAggregatorFactory(name, fieldName, expression, macroTable); case DOUBLE: return new DoubleMinAggregatorFactory(name, fieldName, expression, macroTable); default: throw new ISE("Cannot create aggregator factory for type[%s]", aggregationType); } } }
Lists.newArrayList( new FloatMaxAggregatorFactory("maxIndex", "indexFloat"), new FloatMinAggregatorFactory("minIndex", "indexFloat")
new CountAggregatorFactory("custom_count"), new LongSumAggregatorFactory("custom_long_sum", "agg_1"), new FloatMinAggregatorFactory("custom_float_min", "agg_3"), new DoubleMaxAggregatorFactory("custom_double_max", "agg_4") };
.setDimensions(DIMS(new DefaultDimensionSpec("dim1", "d0"))) .setAggregatorSpecs( new FloatMinAggregatorFactory("a0", "m1"), new FloatMaxAggregatorFactory("a1", "m1")
.setDimensions(DIMS(new DefaultDimensionSpec("dim1", "d0"))) .setAggregatorSpecs( new FloatMinAggregatorFactory("a0", "m1"), new FloatMaxAggregatorFactory("a1", "m1")
.metric(new InvertedTopNMetricSpec(new NumericTopNMetricSpec("p0"))) .aggregators(AGGS( new FloatMinAggregatorFactory("a0", "m1"), new FloatMaxAggregatorFactory("a1", "m1") ))
@Override public AggregatorFactory getCombiningFactory() { return new FloatMinAggregatorFactory(name, name, null, macroTable); }
@Override public List<AggregatorFactory> getRequiredColumns() { return Collections.singletonList(new FloatMinAggregatorFactory(fieldName, fieldName, expression, macroTable)); }
private static AggregatorFactory createMinAggregatorFactory( final ValueType aggregationType, final String name, final String fieldName, final String expression, final ExprMacroTable macroTable ) { switch (aggregationType) { case LONG: return new LongMinAggregatorFactory(name, fieldName, expression, macroTable); case FLOAT: return new FloatMinAggregatorFactory(name, fieldName, expression, macroTable); case DOUBLE: return new DoubleMinAggregatorFactory(name, fieldName, expression, macroTable); default: throw new ISE("Cannot create aggregator factory for type[%s]", aggregationType); } } }