mirror of https://github.com/apache/druid.git
Test for desired timeseries zero-filling behavior.
This commit is contained in:
parent
da48a713ae
commit
0eea1dc08d
|
@ -21,7 +21,9 @@ package io.druid.query.timeseries;
|
|||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.metamx.common.Granularity;
|
||||
import com.metamx.common.guava.Sequences;
|
||||
import io.druid.granularity.PeriodGranularity;
|
||||
import io.druid.granularity.QueryGranularity;
|
||||
|
@ -465,6 +467,74 @@ public class TimeseriesQueryRunnerTest
|
|||
TestHelper.assertExpectedResults(expectedResults1, results1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTimeseriesQueryZeroFilling()
|
||||
{
|
||||
TimeseriesQuery query1 = Druids.newTimeseriesQueryBuilder()
|
||||
.dataSource(QueryRunnerTestHelper.dataSource)
|
||||
.filters(QueryRunnerTestHelper.providerDimension, "spot", "upfront", "total_market")
|
||||
.granularity(QueryGranularity.HOUR)
|
||||
.intervals(
|
||||
Arrays.asList(
|
||||
new Interval(
|
||||
"2011-04-14T00:00:00.000Z/2011-05-01T00:00:00.000Z"
|
||||
)
|
||||
)
|
||||
)
|
||||
.aggregators(
|
||||
Arrays.<AggregatorFactory>asList(
|
||||
QueryRunnerTestHelper.rowsCount,
|
||||
new LongSumAggregatorFactory(
|
||||
"idx",
|
||||
"index"
|
||||
)
|
||||
)
|
||||
)
|
||||
.build();
|
||||
|
||||
List<Result<TimeseriesResultValue>> lotsOfZeroes = Lists.newArrayList();
|
||||
for (final Long millis : QueryGranularity.HOUR.iterable(
|
||||
new DateTime("2011-04-14T01").getMillis(),
|
||||
new DateTime("2011-04-15").getMillis()
|
||||
)) {
|
||||
lotsOfZeroes.add(
|
||||
new Result<>(
|
||||
new DateTime(millis),
|
||||
new TimeseriesResultValue(
|
||||
ImmutableMap.<String, Object>of("rows", 0L, "idx", 0L)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
List<Result<TimeseriesResultValue>> expectedResults1 = Lists.newArrayList(
|
||||
Iterables.concat(
|
||||
Arrays.asList(
|
||||
new Result<>(
|
||||
new DateTime("2011-04-14T00"),
|
||||
new TimeseriesResultValue(
|
||||
ImmutableMap.<String, Object>of("rows", 13L, "idx", 4907L)
|
||||
)
|
||||
)
|
||||
),
|
||||
lotsOfZeroes,
|
||||
Arrays.asList(
|
||||
new Result<>(
|
||||
new DateTime("2011-04-15T00"),
|
||||
new TimeseriesResultValue(
|
||||
ImmutableMap.<String, Object>of("rows", 13L, "idx", 4717L)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
Iterable<Result<TimeseriesResultValue>> results1 = Sequences.toList(
|
||||
runner.run(query1),
|
||||
Lists.<Result<TimeseriesResultValue>>newArrayList()
|
||||
);
|
||||
TestHelper.assertExpectedResults(expectedResults1, results1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTimeseriesQueryGranularityNotAlignedWithRollupGranularity()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue