TSG-22473 对APPROX_QUANTILE_HDR结果列排序产生ClassCastException异常
This commit is contained in:
@@ -2,8 +2,9 @@ package org.apache.druid.query.aggregation.sketch.HdrHistogram;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.HdrHistogram.Histogram;
|
||||
import com.google.common.primitives.Longs;
|
||||
import org.HdrHistogram.HistogramSketch;
|
||||
import org.apache.druid.java.util.common.IAE;
|
||||
import org.apache.druid.query.aggregation.AggregatorFactory;
|
||||
@@ -23,6 +24,14 @@ public class HdrHistogramToQuantilePostAggregator implements PostAggregator {
|
||||
private final String fieldName;
|
||||
private final float probability;
|
||||
|
||||
static final Comparator COMPARATOR = new Ordering(){
|
||||
@Override
|
||||
public int compare(Object o, Object o1)
|
||||
{
|
||||
return Longs.compare(((Number) o).longValue(), ((Number) o1).longValue());
|
||||
}
|
||||
}.nullsFirst();
|
||||
|
||||
@JsonCreator
|
||||
public HdrHistogramToQuantilePostAggregator(
|
||||
@JsonProperty("name") String name,
|
||||
@@ -49,13 +58,8 @@ public class HdrHistogramToQuantilePostAggregator implements PostAggregator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Comparator getComparator() {
|
||||
return new Comparator<Long>(){
|
||||
@Override
|
||||
public int compare(final Long a, final Long b){
|
||||
return Long.compare(a, b);
|
||||
}
|
||||
};
|
||||
public Comparator<Long> getComparator() {
|
||||
return COMPARATOR;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user