Search in sources :

Example 1 with Period

use of org.joda.time.Period in project druid by druid-io.

the class VarianceGroupByQueryTest method testPostAggHavingSpec.

@Test
public void testPostAggHavingSpec() {
    VarianceTestHelper.RowBuilder expect = new VarianceTestHelper.RowBuilder(new String[] { "alias", "rows", "index", "index_var", "index_stddev" });
    List<Row> expectedResults = expect.add("2011-04-01", "automotive", 2L, 269L, 299.0009819048282, 17.29164485827847).add("2011-04-01", "mezzanine", 6L, 4420L, 254083.76447001836, 504.06722217380724).add("2011-04-01", "premium", 6L, 4416L, 252279.2020389339, 502.27403082275106).build();
    GroupByQuery query = GroupByQuery.builder().setDataSource(VarianceTestHelper.dataSource).setInterval("2011-04-02/2011-04-04").setDimensions(Lists.<DimensionSpec>newArrayList(new DefaultDimensionSpec("quality", "alias"))).setAggregatorSpecs(Arrays.asList(VarianceTestHelper.rowsCount, VarianceTestHelper.indexLongSum, VarianceTestHelper.indexVarianceAggr)).setPostAggregatorSpecs(ImmutableList.<PostAggregator>of(VarianceTestHelper.stddevOfIndexPostAggr)).setGranularity(new PeriodGranularity(new Period("P1M"), null, null)).setHavingSpec(new OrHavingSpec(ImmutableList.<HavingSpec>of(// 3 rows
    new GreaterThanHavingSpec(VarianceTestHelper.stddevOfIndexMetric, 15L)))).build();
    Iterable<Row> results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
    TestHelper.assertExpectedObjects(expectedResults, results, "");
    query = query.withLimitSpec(new DefaultLimitSpec(Arrays.<OrderByColumnSpec>asList(OrderByColumnSpec.asc(VarianceTestHelper.stddevOfIndexMetric)), 2));
    expectedResults = expect.add("2011-04-01", "automotive", 2L, 269L, 299.0009819048282, 17.29164485827847).add("2011-04-01", "premium", 6L, 4416L, 252279.2020389339, 502.27403082275106).build();
    results = GroupByQueryRunnerTestHelper.runQuery(factory, runner, query);
    TestHelper.assertExpectedObjects(expectedResults, results, "");
}
Also used : DimensionSpec(io.druid.query.dimension.DimensionSpec) DefaultDimensionSpec(io.druid.query.dimension.DefaultDimensionSpec) OrHavingSpec(io.druid.query.groupby.having.OrHavingSpec) PostAggregator(io.druid.query.aggregation.PostAggregator) DefaultLimitSpec(io.druid.query.groupby.orderby.DefaultLimitSpec) PeriodGranularity(io.druid.java.util.common.granularity.PeriodGranularity) Period(org.joda.time.Period) DefaultDimensionSpec(io.druid.query.dimension.DefaultDimensionSpec) GroupByQuery(io.druid.query.groupby.GroupByQuery) GreaterThanHavingSpec(io.druid.query.groupby.having.GreaterThanHavingSpec) Row(io.druid.data.input.Row) Test(org.junit.Test) GroupByQueryRunnerTest(io.druid.query.groupby.GroupByQueryRunnerTest)

Example 2 with Period

use of org.joda.time.Period in project druid by druid-io.

the class NamespacedExtractorModuleTest method testListNamespaces.

@Test
public void testListNamespaces() throws Exception {
    final File tmpFile = temporaryFolder.newFile();
    try (OutputStreamWriter out = new FileWriter(tmpFile)) {
        out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
    }
    final URIExtractionNamespace namespace = new URIExtractionNamespace(tmpFile.toURI(), null, null, new URIExtractionNamespace.ObjectMapperFlatDataParser(URIExtractionNamespaceTest.registerTypes(new DefaultObjectMapper())), new Period(0), null);
    try (CacheScheduler.Entry entry = scheduler.scheduleAndWait(namespace, 1_000)) {
        Assert.assertNotNull(entry);
        entry.awaitTotalUpdates(1);
        Assert.assertEquals(1, scheduler.getActiveEntries());
    }
}
Also used : URIExtractionNamespace(io.druid.query.lookup.namespace.URIExtractionNamespace) FileWriter(java.io.FileWriter) Period(org.joda.time.Period) OutputStreamWriter(java.io.OutputStreamWriter) DefaultObjectMapper(io.druid.jackson.DefaultObjectMapper) File(java.io.File) CacheScheduler(io.druid.server.lookup.namespace.cache.CacheScheduler) URIExtractionNamespaceTest(io.druid.query.lookup.namespace.URIExtractionNamespaceTest) Test(org.junit.Test)

Example 3 with Period

use of org.joda.time.Period in project druid by druid-io.

the class NamespacedExtractorModuleTest method testDeleteNamespaces.

//(timeout = 10_000)
@Test
public void testDeleteNamespaces() throws Exception {
    final File tmpFile = temporaryFolder.newFile();
    try (OutputStreamWriter out = new FileWriter(tmpFile)) {
        out.write(mapper.writeValueAsString(ImmutableMap.<String, String>of("foo", "bar")));
    }
    final URIExtractionNamespace namespace = new URIExtractionNamespace(tmpFile.toURI(), null, null, new URIExtractionNamespace.ObjectMapperFlatDataParser(URIExtractionNamespaceTest.registerTypes(new DefaultObjectMapper())), new Period(0), null);
    try (CacheScheduler.Entry entry = scheduler.scheduleAndWait(namespace, 1_000)) {
        Assert.assertNotNull(entry);
    }
}
Also used : URIExtractionNamespace(io.druid.query.lookup.namespace.URIExtractionNamespace) FileWriter(java.io.FileWriter) Period(org.joda.time.Period) OutputStreamWriter(java.io.OutputStreamWriter) DefaultObjectMapper(io.druid.jackson.DefaultObjectMapper) File(java.io.File) CacheScheduler(io.druid.server.lookup.namespace.cache.CacheScheduler) URIExtractionNamespaceTest(io.druid.query.lookup.namespace.URIExtractionNamespaceTest) Test(org.junit.Test)

Example 4 with Period

use of org.joda.time.Period in project druid by druid-io.

the class URIExtractionNamespaceCacheFactoryTest method simplePileONamespacesTest.

@Test
public void simplePileONamespacesTest() throws InterruptedException {
    final int size = 128;
    List<CacheScheduler.Entry> entries = new ArrayList<>(size);
    for (int i = 0; i < size; ++i) {
        URIExtractionNamespace namespace = new URIExtractionNamespace(tmpFile.toURI(), null, null, new URIExtractionNamespace.ObjectMapperFlatDataParser(URIExtractionNamespaceTest.registerTypes(new ObjectMapper())), new Period(0), null);
        CacheScheduler.Entry entry = scheduler.schedule(namespace);
        entries.add(entry);
        NamespaceExtractionCacheManagerExecutorsTest.waitFor(entry);
    }
    for (CacheScheduler.Entry entry : entries) {
        final Map<String, String> map = entry.getCache();
        Assert.assertEquals("bar", map.get("foo"));
        Assert.assertEquals(null, map.get("baz"));
        entry.close();
    }
    Assert.assertEquals(0, scheduler.getActiveEntries());
}
Also used : URIExtractionNamespace(io.druid.query.lookup.namespace.URIExtractionNamespace) ArrayList(java.util.ArrayList) Period(org.joda.time.Period) CacheScheduler(io.druid.server.lookup.namespace.cache.CacheScheduler) DefaultObjectMapper(io.druid.jackson.DefaultObjectMapper) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) URIExtractionNamespaceTest(io.druid.query.lookup.namespace.URIExtractionNamespaceTest) NamespaceExtractionCacheManagerExecutorsTest(io.druid.server.lookup.namespace.cache.NamespaceExtractionCacheManagerExecutorsTest) Test(org.junit.Test)

Example 5 with Period

use of org.joda.time.Period in project druid by druid-io.

the class JDBCExtractionNamespaceTest method testMapping.

@Test(timeout = 10_000L)
public void testMapping() throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException, ExecutionException, InterruptedException, TimeoutException {
    final JDBCExtractionNamespace extractionNamespace = new JDBCExtractionNamespace(derbyConnectorRule.getMetadataConnectorConfig(), tableName, keyName, valName, tsColumn, new Period(0));
    try (CacheScheduler.Entry entry = scheduler.schedule(extractionNamespace)) {
        NamespaceExtractionCacheManagerExecutorsTest.waitFor(entry);
        final Map<String, String> map = entry.getCache();
        for (Map.Entry<String, String> e : renames.entrySet()) {
            String key = e.getKey();
            String val = e.getValue();
            Assert.assertEquals("non-null check", Strings.emptyToNull(val), Strings.emptyToNull(map.get(key)));
        }
        Assert.assertEquals("null check", null, map.get("baz"));
    }
}
Also used : Period(org.joda.time.Period) JDBCExtractionNamespace(io.druid.query.lookup.namespace.JDBCExtractionNamespace) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) Test(org.junit.Test)

Aggregations

Period (org.joda.time.Period)691 Test (org.junit.Test)405 DateTime (org.joda.time.DateTime)126 ArrayList (java.util.ArrayList)63 PeriodGranularity (org.apache.druid.java.util.common.granularity.PeriodGranularity)55 Interval (org.joda.time.Interval)50 InitializedNullHandlingTest (org.apache.druid.testing.InitializedNullHandlingTest)49 File (java.io.File)45 PeriodGranularity (io.druid.java.util.common.granularity.PeriodGranularity)40 DataSegment (org.apache.druid.timeline.DataSegment)35 Map (java.util.Map)34 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)31 LongSumAggregatorFactory (org.apache.druid.query.aggregation.LongSumAggregatorFactory)31 LongSumAggregatorFactory (io.druid.query.aggregation.LongSumAggregatorFactory)30 IndexSpec (org.apache.druid.segment.IndexSpec)30 ImmutableMap (com.google.common.collect.ImmutableMap)28 List (java.util.List)28 UserCompactionTaskGranularityConfig (org.apache.druid.server.coordinator.UserCompactionTaskGranularityConfig)28 BigDecimal (java.math.BigDecimal)27 HashMap (java.util.HashMap)22