Here is the sample query.
{
"queryType": "groupBy",
"dataSource": {
"type": "table",
"name": "wikiticker"
},
"intervals": {
"type": "intervals",
"intervals": [
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"
]
},
"virtualColumns": [
{
"type": "expression",
"name": "d0:v",
"expression": "timestamp_floor(\"__time\",'PT1H','','UTC')",
"outputType": "LONG"
}
],
"filter": null,
"granularity": {
"type": "all"
},
"dimensions": [
{
"type": "default",
"dimension": "d0:v",
"outputName": "d0",
"outputType": "LONG"
},
{
"type": "default",
"dimension": "cityName",
"outputName": "d1",
"outputType": "STRING"
}
],
"aggregations": [],
"postAggregations": [],
"having": null,
"limitSpec": {
"type": "default",
"columns": [
{
"dimension": "d0",
"direction": "descending",
"dimensionOrder": {
"type": "numeric"
}
},
{
"dimension": "d1",
"direction": "ascending",
"dimensionOrder": {
"type": "lexicographic"
}
}
],
"limit": 5000
},
"context": {
"timeout": 300000
},
"descending": false
}
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
at java.lang.Long.compareTo(Long.java:54) ~[?:1.8.0_163]
at com.google.common.collect.NaturalOrdering.compare(NaturalOrdering.java:35) ~[guava-16.0.1.jar:?]
at com.google.common.collect.NaturalOrdering.compare(NaturalOrdering.java:26) ~[guava-16.0.1.jar:?]
at com.google.common.collect.NullsFirstOrdering.compare(NullsFirstOrdering.java:44) ~[guava-16.0.1.jar:?]
at io.druid.query.groupby.GroupByQuery.compareDimsForLimitPushDown(GroupByQuery.java:582) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.groupby.GroupByQuery.access$000(GroupByQuery.java:81) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.groupby.GroupByQuery$1.compare(GroupByQuery.java:416) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.groupby.GroupByQuery$1.compare(GroupByQuery.java:412) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at com.google.common.collect.ComparatorOrdering.compare(ComparatorOrdering.java:38) ~[guava-16.0.1.jar:?]
at io.druid.common.guava.CombiningSequence$CombiningAccumulator.accumulate(CombiningSequence.java:260) ~[druid-common-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.YieldingAccumulators$1.accumulate(YieldingAccumulators.java:35) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.MergeSequence.makeYielder(MergeSequence.java:106) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.MergeSequence.toYielder(MergeSequence.java:94) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.LazySequence.toYielder(LazySequence.java:46) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.RetryQueryRunner$1.toYielder(RetryQueryRunner.java:102) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.YieldingSequenceBase.accumulate(YieldingSequenceBase.java:32) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.common.guava.CombiningSequence.accumulate(CombiningSequence.java:64) ~[druid-common-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.groupby.orderby.TopNSequence$1.make(TopNSequence.java:55) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.BaseSequence.toYielder(BaseSequence.java:65) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:87) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:83) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:82) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:87) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:83) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) ~[druid-processing-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:82) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.java.util.common.guava.Yielders.each(Yielders.java:32) ~[java-util-0.12.1-iap8.jar:0.12.1-iap8]
at io.druid.server.QueryResource.doPost(QueryResource.java:193) [druid-server-0.12.1-iap8.jar:0.12.1-iap8]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_163]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_163]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_163]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_163]2018-08-07T20:49:53,620
Here is the sample query.
If
__timecolumn contains nulls, this query throws an error like below.druid-0.12.1-iap8 is almost same with 0.12.2.