mirror of
https://github.com/apache/druid.git
synced 2025-02-25 20:48:05 +00:00
add select query UT for thetaSketch
This commit is contained in:
parent
3f048f0b15
commit
62e5e45da8
@ -20,6 +20,7 @@
|
|||||||
package io.druid.query.aggregation.datasketches.theta;
|
package io.druid.query.aggregation.datasketches.theta;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.io.Files;
|
import com.google.common.io.Files;
|
||||||
import com.metamx.common.guava.Sequence;
|
import com.metamx.common.guava.Sequence;
|
||||||
@ -28,10 +29,12 @@ import com.yahoo.sketches.theta.Sketch;
|
|||||||
import com.yahoo.sketches.theta.Sketches;
|
import com.yahoo.sketches.theta.Sketches;
|
||||||
import io.druid.data.input.MapBasedRow;
|
import io.druid.data.input.MapBasedRow;
|
||||||
import io.druid.granularity.QueryGranularity;
|
import io.druid.granularity.QueryGranularity;
|
||||||
|
import io.druid.query.Result;
|
||||||
import io.druid.query.aggregation.AggregationTestHelper;
|
import io.druid.query.aggregation.AggregationTestHelper;
|
||||||
import io.druid.query.aggregation.AggregatorFactory;
|
import io.druid.query.aggregation.AggregatorFactory;
|
||||||
import io.druid.query.aggregation.PostAggregator;
|
import io.druid.query.aggregation.PostAggregator;
|
||||||
import io.druid.query.aggregation.post.FieldAccessPostAggregator;
|
import io.druid.query.aggregation.post.FieldAccessPostAggregator;
|
||||||
|
import io.druid.query.select.SelectResultValue;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
@ -60,7 +63,7 @@ public class SketchAggregationTest
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSimpleDataIngestAndQuery() throws Exception
|
public void testSimpleDataIngestAndGpByQuery() throws Exception
|
||||||
{
|
{
|
||||||
Sequence seq = helper.createIndexAndRunQueryOnSegment(
|
Sequence seq = helper.createIndexAndRunQueryOnSegment(
|
||||||
new File(this.getClass().getClassLoader().getResource("simple_test_data.tsv").getFile()),
|
new File(this.getClass().getClassLoader().getResource("simple_test_data.tsv").getFile()),
|
||||||
@ -92,7 +95,33 @@ public class SketchAggregationTest
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSketchDataIngestAndQuery() throws Exception
|
public void testSimpleDataIngestAndSelectQuery() throws Exception
|
||||||
|
{
|
||||||
|
SketchModule sm = new SketchModule();
|
||||||
|
sm.configure(null);
|
||||||
|
AggregationTestHelper selectQueryAggregationTestHelper = AggregationTestHelper.createSelectQueryAggregationTestHelper(
|
||||||
|
sm.getJacksonModules(),
|
||||||
|
tempFolder
|
||||||
|
);
|
||||||
|
|
||||||
|
Sequence seq = selectQueryAggregationTestHelper.createIndexAndRunQueryOnSegment(
|
||||||
|
new File(this.getClass().getClassLoader().getResource("simple_test_data.tsv").getFile()),
|
||||||
|
readFileFromClasspathAsString("simple_test_data_record_parser.json"),
|
||||||
|
readFileFromClasspathAsString("simple_test_data_aggregators.json"),
|
||||||
|
0,
|
||||||
|
QueryGranularity.NONE,
|
||||||
|
5000,
|
||||||
|
readFileFromClasspathAsString("select_query.json")
|
||||||
|
);
|
||||||
|
|
||||||
|
Result<SelectResultValue> result = (Result<SelectResultValue>) Iterables.getOnlyElement(Sequences.toList(seq, Lists.newArrayList()));
|
||||||
|
Assert.assertEquals(new DateTime("2014-10-20T00:00:00.000Z"), result.getTimestamp());
|
||||||
|
Assert.assertEquals(100, result.getValue().getEvents().size());
|
||||||
|
Assert.assertEquals("AgMDAAAazJMBAAAAAACAPzz9j7pWTMdR", result.getValue().getEvents().get(0).getEvent().get("pty_country"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSketchDataIngestAndGpByQuery() throws Exception
|
||||||
{
|
{
|
||||||
Sequence seq = helper.createIndexAndRunQueryOnSegment(
|
Sequence seq = helper.createIndexAndRunQueryOnSegment(
|
||||||
new File(SketchAggregationTest.class.getClassLoader().getResource("sketch_test_data.tsv").getFile()),
|
new File(SketchAggregationTest.class.getClassLoader().getResource("sketch_test_data.tsv").getFile()),
|
||||||
|
11
extensions/datasketches/src/test/resources/select_query.json
Normal file
11
extensions/datasketches/src/test/resources/select_query.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"queryType": "select",
|
||||||
|
"dataSource": "test_datasource",
|
||||||
|
"dimensions":[],
|
||||||
|
"metrics":[],
|
||||||
|
"granularity": "ALL",
|
||||||
|
"intervals": [
|
||||||
|
"2014-10-19T00:00:00.000Z/2014-10-22T00:00:00.000Z"
|
||||||
|
],
|
||||||
|
"pagingSpec":{"pagingIdentifiers": {}, "threshold":100}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user