abhishekagarwal87 commented on a change in pull request #10304:
URL: https://github.com/apache/druid/pull/10304#discussion_r478285996
##########
File path:
extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogramAggregatorFactory.java
##########
@@ -99,6 +105,34 @@ public BufferAggregator
factorizeBuffered(ColumnSelectorFactory metricFactory)
);
}
+ @Override
+ public VectorAggregator factorizeVector(VectorColumnSelectorFactory
columnSelectorFactory)
+ {
+ ColumnCapabilities capabilities =
columnSelectorFactory.getColumnCapabilities(fieldName);
+ if (null == capabilities) {
+ throw new IAE("could not find the column type for column %s", fieldName);
+ }
+ ValueType type = capabilities.getType();
+ if (type.isNumeric()) {
+ return new FixedBucketsHistogramVectorAggregator(
+ columnSelectorFactory.makeValueSelector(fieldName),
+ lowerLimit,
+ upperLimit,
+ numBuckets,
+ outlierHandlingMode
+ );
+ } else {
+ throw new IAE("cannot vectorize fixed bucket histogram aggregation for
type %s", type);
+ }
+ }
+
+ @Override
+ public boolean canVectorize(ColumnInspector columnInspector)
+ {
+ ColumnCapabilities capabilities =
columnInspector.getColumnCapabilities(fieldName);
+ return (capabilities != null) && capabilities.getType().isNumeric();
Review comment:
Yes. I only meant to handle numeric types for now. It seems it can also
take String (base64) as well as complex objects. I decided to not do that in
the current PR given these extensions are also deprecated and not recommended
for use anymore.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]