use of org.apache.druid.query.aggregation.BufferAggregator in project druid by druid-io.
the class BaseTopNAlgorithm method makeBufferAggregators.
protected static BufferAggregator[] makeBufferAggregators(Cursor cursor, List<AggregatorFactory> aggregatorSpecs) {
BufferAggregator[] aggregators = new BufferAggregator[aggregatorSpecs.size()];
int aggregatorIndex = 0;
for (AggregatorFactory spec : aggregatorSpecs) {
aggregators[aggregatorIndex] = spec.factorizeBuffered(cursor.getColumnSelectorFactory());
++aggregatorIndex;
}
return aggregators;
}
use of org.apache.druid.query.aggregation.BufferAggregator in project druid by druid-io.
the class StringAnyAggregationTest method testStringAnyBufferAggregator.
@Test
public void testStringAnyBufferAggregator() {
BufferAggregator agg = stringAnyAggFactory.factorizeBuffered(colSelectorFactory);
ByteBuffer buffer = ByteBuffer.wrap(new byte[stringAnyAggFactory.getMaxIntermediateSize()]);
agg.init(buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
String result = (String) agg.get(buffer, 0);
Assert.assertEquals(strings[0], result);
}
use of org.apache.druid.query.aggregation.BufferAggregator in project druid by druid-io.
the class FloatAnyAggregationTest method testFloatAnyBufferAggregator.
@Test
public void testFloatAnyBufferAggregator() {
BufferAggregator agg = floatAnyAggFactory.factorizeBuffered(colSelectorFactory);
ByteBuffer buffer = ByteBuffer.wrap(new byte[floatAnyAggFactory.getMaxIntermediateSizeWithNulls()]);
agg.init(buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
Float result = (Float) agg.get(buffer, 0);
Assert.assertEquals(floats[0], result, 0.0001);
Assert.assertEquals((long) floats[0], agg.getLong(buffer, 0));
Assert.assertEquals(floats[0], agg.getFloat(buffer, 0), 0.0001);
}
use of org.apache.druid.query.aggregation.BufferAggregator in project druid by druid-io.
the class FloatAnyAggregationTest method testFloatAnyCombiningBufferAggregator.
@Test
public void testFloatAnyCombiningBufferAggregator() {
BufferAggregator agg = combiningAggFactory.factorizeBuffered(colSelectorFactory);
ByteBuffer buffer = ByteBuffer.wrap(new byte[floatAnyAggFactory.getMaxIntermediateSizeWithNulls()]);
agg.init(buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
Float result = (Float) agg.get(buffer, 0);
Assert.assertEquals(objects[0], result, 0.0001);
Assert.assertEquals(objects[0].longValue(), agg.getLong(buffer, 0));
Assert.assertEquals(objects[0], agg.getFloat(buffer, 0), 0.0001);
}
use of org.apache.druid.query.aggregation.BufferAggregator in project druid by druid-io.
the class DoubleAnyAggregationTest method testDoubleAnyBufferAggregator.
@Test
public void testDoubleAnyBufferAggregator() {
BufferAggregator agg = doubleAnyAggFactory.factorizeBuffered(colSelectorFactory);
ByteBuffer buffer = ByteBuffer.wrap(new byte[doubleAnyAggFactory.getMaxIntermediateSizeWithNulls()]);
agg.init(buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
aggregate(agg, buffer, 0);
Double result = (Double) agg.get(buffer, 0);
Assert.assertEquals(doubles[0], result, 0.0001);
Assert.assertEquals((long) doubles[0], agg.getLong(buffer, 0));
Assert.assertEquals(doubles[0], agg.getDouble(buffer, 0), 0.0001);
}
Aggregations