You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2018/08/22 10:47:32 UTC
hive git commit: HIVE-20427 : Remove Druid Mock tests from CliDriver
(Slim Bouguerra via Ashutosh Chauhan)
Repository: hive
Updated Branches:
refs/heads/master 25e747f53 -> 4d006f2a5
HIVE-20427 : Remove Druid Mock tests from CliDriver (Slim Bouguerra via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/4d006f2a
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/4d006f2a
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/4d006f2a
Branch: refs/heads/master
Commit: 4d006f2a54686cba007d346bbef248be19facd69
Parents: 25e747f
Author: Slim Bouguerra <sl...@gmail.com>
Authored: Wed Aug 22 03:45:18 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Wed Aug 22 03:45:18 2018 -0700
----------------------------------------------------------------------
.../test/resources/testconfiguration.properties | 1 -
.../test/queries/clientpositive/druid_basic1.q | 18 --
.../test/queries/clientpositive/druid_basic2.q | 96 ------
.../test/queries/clientpositive/druid_basic3.q | 95 ------
.../queries/clientpositive/druid_intervals.q | 67 ----
.../clientpositive/druidkafkamini_basic.q | 54 ++++
.../queries/clientpositive/druidmini_test_ts.q | 60 ++++
.../druid/druidkafkamini_basic.q.out | 246 +++++++++++++++
.../druid/druidmini_test_ts.q.out | 304 +++++++++++++++++++
9 files changed, 664 insertions(+), 277 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index af7f089..d2fe788 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -1710,7 +1710,6 @@ spark.perf.disabled.query.files=query14.q,\
druid.query.files=druidmini_test1.q,\
druidmini_test_ts.q,\
- druid_basic2.q,\
druidmini_joins.q,\
druidmini_test_insert.q,\
druidmini_mv.q,\
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druid_basic1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druid_basic1.q b/ql/src/test/queries/clientpositive/druid_basic1.q
deleted file mode 100644
index 83f5968..0000000
--- a/ql/src/test/queries/clientpositive/druid_basic1.q
+++ /dev/null
@@ -1,18 +0,0 @@
-set hive.druid.broker.address.default=localhost.test;
-
-CREATE EXTERNAL TABLE druid_table_1
-STORED BY 'org.apache.hadoop.hive.druid.QTestDruidStorageHandler'
-TBLPROPERTIES ("druid.datasource" = "wikipedia");
-
-DESCRIBE FORMATTED druid_table_1;
-
--- different table, same datasource
-CREATE EXTERNAL TABLE druid_table_2
-STORED BY 'org.apache.hadoop.hive.druid.QTestDruidStorageHandler'
-TBLPROPERTIES ("druid.datasource" = "wikipedia");
-
-DESCRIBE FORMATTED druid_table_2;
-
-DROP TABLE druid_table_2;
-
-DROP TABLE druid_table_1;
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druid_basic2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druid_basic2.q b/ql/src/test/queries/clientpositive/druid_basic2.q
deleted file mode 100644
index f1d215a..0000000
--- a/ql/src/test/queries/clientpositive/druid_basic2.q
+++ /dev/null
@@ -1,96 +0,0 @@
-set hive.strict.checks.cartesian.product=false;
-set hive.druid.broker.address.default=localhost.test;
-
-CREATE EXTERNAL TABLE druid_table_1_n2
-STORED BY 'org.apache.hadoop.hive.druid.QTestDruidStorageHandler'
-TBLPROPERTIES ("druid.datasource" = "wikipedia");
-
-DESCRIBE FORMATTED druid_table_1_n2;
-
--- dimension
-EXPLAIN EXTENDED
-SELECT robot FROM druid_table_1_n2;
-
--- metric
-EXPLAIN EXTENDED
-SELECT delta FROM druid_table_1_n2;
-
-EXPLAIN EXTENDED
-SELECT robot
-FROM druid_table_1_n2
-WHERE language = 'en';
-
-EXPLAIN EXTENDED
-SELECT DISTINCT robot
-FROM druid_table_1_n2
-WHERE language = 'en';
-
--- TODO: currently nothing is pushed - ISNOTNULL
-EXPLAIN EXTENDED
-SELECT a.robot, b.language
-FROM
-(
- (SELECT robot, language
- FROM druid_table_1_n2) a
- JOIN
- (SELECT language
- FROM druid_table_1_n2) b
- ON a.language = b.language
-);
-
-EXPLAIN EXTENDED
-SELECT a.robot, b.language
-FROM
-(
- (SELECT robot, language
- FROM druid_table_1_n2
- WHERE language = 'en') a
- JOIN
- (SELECT language
- FROM druid_table_1_n2) b
- ON a.language = b.language
-);
-
-EXPLAIN EXTENDED
-SELECT robot, floor_day(`__time`), max(added) as m, sum(delta) as s
-FROM druid_table_1_n2
-GROUP BY robot, language, floor_day(`__time`)
-ORDER BY CAST(robot AS INTEGER) ASC, m DESC
-LIMIT 10;
-
-EXPLAIN
-SELECT substring(namespace, CAST(deleted AS INT), 4)
-FROM druid_table_1_n2;
-
-EXPLAIN
-SELECT robot, floor_day(`__time`)
-FROM druid_table_1_n2
-WHERE floor_day(`__time`) BETWEEN '1999-11-01 00:00:00' AND '1999-11-10 00:00:00'
-GROUP BY robot, floor_day(`__time`)
-ORDER BY robot
-LIMIT 10;
-
-EXPLAIN
-SELECT robot, `__time`
-FROM druid_table_1_n2
-WHERE floor_day(`__time`) BETWEEN '1999-11-01 00:00:00' AND '1999-11-10 00:00:00'
-GROUP BY robot, `__time`
-ORDER BY robot
-LIMIT 10;
-
-EXPLAIN
-SELECT robot, floor_day(`__time`)
-FROM druid_table_1_n2
-WHERE `__time` BETWEEN '1999-11-01 00:00:00' AND '1999-11-10 00:00:00'
-GROUP BY robot, floor_day(`__time`)
-ORDER BY robot
-LIMIT 10;
-
--- No CBO test: it should work
-set hive.cbo.enable=false;
-EXPLAIN EXTENDED
-SELECT robot, floor_day(`__time`), max(added) as m, sum(delta) as s
-FROM druid_table_1_n2
-GROUP BY robot, language, floor_day(`__time`)
-ORDER BY CAST(robot AS INTEGER) ASC, m DESC
-LIMIT 10;
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druid_basic3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druid_basic3.q b/ql/src/test/queries/clientpositive/druid_basic3.q
deleted file mode 100644
index f43b636..0000000
--- a/ql/src/test/queries/clientpositive/druid_basic3.q
+++ /dev/null
@@ -1,95 +0,0 @@
-set hive.strict.checks.cartesian.product=false;
-set hive.druid.broker.address.default=localhost.test;
-
-CREATE EXTERNAL TABLE druid_table_1_n4
-STORED BY 'org.apache.hadoop.hive.druid.QTestDruidStorageHandler'
-TBLPROPERTIES ("druid.datasource" = "wikipedia");
-
-EXPLAIN
-SELECT sum(added) + sum(delta) as a, language
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT sum(delta), sum(added) + sum(delta) AS a, language
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, sum(added) / sum(delta) AS a
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, sum(added) * sum(delta) AS a
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, sum(added) - sum(delta) AS a
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, sum(added) + 100 AS a
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, -1 * (a + b) AS c
-FROM (
- SELECT (sum(added)-sum(delta)) / (count(*) * 3) AS a, sum(deleted) AS b, language
- FROM druid_table_1_n4
- GROUP BY language) subq
-ORDER BY c DESC;
-
-EXPLAIN
-SELECT language, robot, sum(added) - sum(delta) AS a
-FROM druid_table_1_n4
-WHERE extract (week from `__time`) IN (10,11)
-GROUP BY language, robot;
-
-EXPLAIN
-SELECT language, sum(delta) / count(*) AS a
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, sum(added) / sum(delta) AS a,
- CASE WHEN sum(deleted)=0 THEN 1.0 ELSE sum(deleted) END AS b
-FROM druid_table_1_n4
-GROUP BY language
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, a, a - b as c
-FROM (
- SELECT language, sum(added) + 100 AS a, sum(delta) AS b
- FROM druid_table_1_n4
- GROUP BY language) subq
-ORDER BY a DESC;
-
-EXPLAIN
-SELECT language, robot, "A"
-FROM (
- SELECT sum(added) - sum(delta) AS a, language, robot
- FROM druid_table_1_n4
- GROUP BY language, robot ) subq
-ORDER BY "A"
-LIMIT 5;
-
-EXPLAIN
-SELECT language, robot, "A"
-FROM (
- SELECT language, sum(added) + sum(delta) AS a, robot
- FROM druid_table_1_n4
- GROUP BY language, robot) subq
-ORDER BY robot, language
-LIMIT 5;
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druid_intervals.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druid_intervals.q b/ql/src/test/queries/clientpositive/druid_intervals.q
deleted file mode 100644
index a7ee052..0000000
--- a/ql/src/test/queries/clientpositive/druid_intervals.q
+++ /dev/null
@@ -1,67 +0,0 @@
-set hive.druid.broker.address.default=localhost.test;
-
-CREATE EXTERNAL TABLE druid_table_1_n0
-STORED BY 'org.apache.hadoop.hive.druid.QTestDruidStorageHandler'
-TBLPROPERTIES ("druid.datasource" = "wikipedia");
-
-DESCRIBE FORMATTED druid_table_1_n0;
-
--- (-∞‥+∞)
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0;
-
--- (-∞‥2012-03-01 00:00:00)
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE `__time` < '2012-03-01 00:00:00';
-
--- [2010-01-01 00:00:00‥2012-03-01 00:00:00)
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00';
-
--- [2010-01-01 00:00:00‥2011-01-01 00:00:00)
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
- AND `__time` < '2011-01-01 00:00:00';
-
--- [2010-01-01 00:00:00‥2011-01-01 00:00:00]
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE `__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00';
-
--- [2010-01-01 00:00:00‥2011-01-01 00:00:00],[2012-01-01 00:00:00‥2013-01-01 00:00:00]
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
- OR (`__time` BETWEEN '2012-01-01 00:00:00' AND '2013-01-01 00:00:00');
-
--- OVERLAP [2010-01-01 00:00:00‥2012-01-01 00:00:00]
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
- OR (`__time` BETWEEN '2010-06-01 00:00:00' AND '2012-01-01 00:00:00');
-
--- IN: MULTIPLE INTERVALS [2010-01-01 00:00:00‥2010-01-01 00:00:00),[2011-01-01 00:00:00‥2011-01-01 00:00:00)
-EXPLAIN
-SELECT `__time`
-FROM druid_table_1_n0
-WHERE `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
-
-EXPLAIN
-SELECT `__time`, robot
-FROM druid_table_1_n0
-WHERE robot = 'user1' AND `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
-
-EXPLAIN
-SELECT `__time`, robot
-FROM druid_table_1_n0
-WHERE robot = 'user1' OR `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druidkafkamini_basic.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druidkafkamini_basic.q b/ql/src/test/queries/clientpositive/druidkafkamini_basic.q
index b9f817e..73593ef 100644
--- a/ql/src/test/queries/clientpositive/druidkafkamini_basic.q
+++ b/ql/src/test/queries/clientpositive/druidkafkamini_basic.q
@@ -72,4 +72,58 @@ FROM druid_kafka_test) b
ON a.shortname = b.language
) order by b.`user`;
+
+EXPLAIN
+SELECT language, -1 * (a + b) AS c
+FROM (
+ SELECT (sum(added)-sum(deleted)) / (count(*) * 3) AS a, sum(deleted) AS b, language
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY c DESC;
+
+EXPLAIN
+SELECT language, `user`, sum(added) - sum(deleted) AS a
+FROM druid_kafka_test
+WHERE extract (week from `__time`) IN (10,11)
+GROUP BY language, `user`;
+
+EXPLAIN
+SELECT language, sum(deleted) / count(*) AS a
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC;
+
+EXPLAIN
+SELECT language, sum(added) / sum(deleted) AS a,
+ CASE WHEN sum(deleted)=0 THEN 1.0 ELSE sum(deleted) END AS b
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC;
+
+EXPLAIN
+SELECT language, a, a - b as c
+FROM (
+ SELECT language, sum(added) + 100 AS a, sum(deleted) AS b
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY a DESC;
+
+EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT sum(added) - sum(deleted) AS a, language, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user` ) subq
+ORDER BY "A"
+LIMIT 5;
+
+EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT language, sum(added) + sum(deleted) AS a, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user`) subq
+ORDER BY `user`, language
+LIMIT 5;
+
DROP TABLE druid_kafka_test;
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/queries/clientpositive/druidmini_test_ts.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druidmini_test_ts.q b/ql/src/test/queries/clientpositive/druidmini_test_ts.q
index 9e45ae6..b17da5a 100644
--- a/ql/src/test/queries/clientpositive/druidmini_test_ts.q
+++ b/ql/src/test/queries/clientpositive/druidmini_test_ts.q
@@ -62,3 +62,63 @@ SELECT `__time`
FROM druid_table_test_ts
WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
OR (`__time` BETWEEN '1968-02-01 00:00:00' AND '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10;
+
+-- (-∞‥+∞)
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts;
+
+-- (-∞‥2012-03-01 00:00:00)
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` < '2012-03-01 00:00:00';
+
+-- [2010-01-01 00:00:00‥2012-03-01 00:00:00)
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00';
+
+-- [2010-01-01 00:00:00‥2011-01-01 00:00:00)
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
+ AND `__time` < '2011-01-01 00:00:00';
+
+-- [2010-01-01 00:00:00‥2011-01-01 00:00:00]
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00';
+
+-- [2010-01-01 00:00:00‥2011-01-01 00:00:00],[2012-01-01 00:00:00‥2013-01-01 00:00:00]
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2012-01-01 00:00:00' AND '2013-01-01 00:00:00');
+
+-- OVERLAP [2010-01-01 00:00:00‥2012-01-01 00:00:00]
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2010-06-01 00:00:00' AND '2012-01-01 00:00:00');
+
+-- IN: MULTIPLE INTERVALS [2010-01-01 00:00:00‥2010-01-01 00:00:00),[2011-01-01 00:00:00‥2011-01-01 00:00:00)
+EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
+
+EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' AND `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
+
+EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' OR `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00');
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out b/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
index f76a36d..c4b7b6e 100644
--- a/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidkafkamini_basic.q.out
@@ -500,6 +500,252 @@ english nuclear
english nuclear
english speed
english speed
+PREHOOK: query: EXPLAIN
+SELECT language, -1 * (a + b) AS c
+FROM (
+ SELECT (sum(added)-sum(deleted)) / (count(*) * 3) AS a, sum(deleted) AS b, language
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY c DESC
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, -1 * (a + b) AS c
+FROM (
+ SELECT (sum(added)-sum(deleted)) / (count(*) * 3) AS a, sum(deleted) AS b, language
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY c DESC
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames language,c
+ druid.fieldTypes string,double
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","columns":[{"dimension":"c","direction":"descending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"longSum","name":"$f1","fieldName":"added"},{"type":"longSum","name":"$f2","fieldName":"deleted"},{"type":"count","name":"$f3"}],"postAggregations":[{"type":"expression","name":"c","expression":"(-1.0 * ((CAST((\"$f1\" - \"$f2\"), 'DOUBLE') / CAST((\"$f3\" * 3), 'DOUBLE')) + CAST(\"$f2\", 'DOUBLE')))"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), c (type: double)
+ outputColumnNames: _col0, _col1
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, `user`, sum(added) - sum(deleted) AS a
+FROM druid_kafka_test
+WHERE extract (week from `__time`) IN (10,11)
+GROUP BY language, `user`
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, `user`, sum(added) - sum(deleted) AS a
+FROM druid_kafka_test
+WHERE extract (week from `__time`) IN (10,11)
+GROUP BY language, `user`
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames language,user,a
+ druid.fieldTypes string,string,bigint
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"user","outputName":"user","outputType":"STRING"},{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default"},"filter":{"type":"in","dimension":"__time","values":["10","11"],"extractionFn":{"type":"timeFormat","format":"w","timeZone":"UTC","locale":"en-US"}},"aggregations":[{"type":"longSum","name":"$f2","fieldName":"added"},{"type":"longSum","name":"$f3","fieldName":"deleted"}],"postAggregations":[{"type":"expression","name":"a","expression":"(\"$f2\" - \"$f3\")"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), user (type: string), a (type: bigint)
+ outputColumnNames: _col0, _col1, _col2
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, sum(deleted) / count(*) AS a
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, sum(deleted) / count(*) AS a
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames language,a
+ druid.fieldTypes string,double
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","columns":[{"dimension":"a","direction":"descending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"longSum","name":"$f1","fieldName":"deleted"},{"type":"count","name":"$f2"}],"postAggregations":[{"type":"expression","name":"a","expression":"(CAST(\"$f1\", 'DOUBLE') / CAST(\"$f2\", 'DOUBLE'))"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), a (type: double)
+ outputColumnNames: _col0, _col1
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, sum(added) / sum(deleted) AS a,
+ CASE WHEN sum(deleted)=0 THEN 1.0 ELSE sum(deleted) END AS b
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, sum(added) / sum(deleted) AS a,
+ CASE WHEN sum(deleted)=0 THEN 1.0 ELSE sum(deleted) END AS b
+FROM druid_kafka_test
+GROUP BY language
+ORDER BY a DESC
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames language,a,b
+ druid.fieldTypes string,double,decimal(19,0)
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","columns":[{"dimension":"a","direction":"descending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"longSum","name":"$f1","fieldName":"added"},{"type":"longSum","name":"$f2","fieldName":"deleted"}],"postAggregations":[{"type":"expression","name":"a","expression":"(CAST(\"$f1\", 'DOUBLE') / CAST(\"$f2\", 'DOUBLE'))"},{"type":"expression","name":"b","expression":"case_searched((\"$f2\" == 0),1,\"$f2\")"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), a (type: double), b (type: decimal(19,0))
+ outputColumnNames: _col0, _col1, _col2
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, a, a - b as c
+FROM (
+ SELECT language, sum(added) + 100 AS a, sum(deleted) AS b
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY a DESC
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, a, a - b as c
+FROM (
+ SELECT language, sum(added) + 100 AS a, sum(deleted) AS b
+ FROM druid_kafka_test
+ GROUP BY language) subq
+ORDER BY a DESC
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames language,a,c
+ druid.fieldTypes string,bigint,bigint
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","columns":[{"dimension":"a","direction":"descending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"longSum","name":"$f1","fieldName":"added"},{"type":"longSum","name":"$f2","fieldName":"deleted"}],"postAggregations":[{"type":"expression","name":"a","expression":"(\"$f1\" + 100)"},{"type":"expression","name":"c","expression":"((\"$f1\" + 100) - \"$f2\")"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), a (type: bigint), c (type: bigint)
+ outputColumnNames: _col0, _col1, _col2
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT sum(added) - sum(deleted) AS a, language, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user` ) subq
+ORDER BY "A"
+LIMIT 5
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT sum(added) - sum(deleted) AS a, language, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user` ) subq
+ORDER BY "A"
+LIMIT 5
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames user,language
+ druid.fieldTypes string,string
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"user","outputName":"user","outputType":"STRING"},{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","limit":5,"columns":[]},"aggregations":[],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), user (type: string), 'A' (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT language, sum(added) + sum(deleted) AS a, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user`) subq
+ORDER BY `user`, language
+LIMIT 5
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT language, `user`, "A"
+FROM (
+ SELECT language, sum(added) + sum(deleted) AS a, `user`
+ FROM druid_kafka_test
+ GROUP BY language, `user`) subq
+ORDER BY `user`, language
+LIMIT 5
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_kafka_test
+ properties:
+ druid.fieldNames user,language
+ druid.fieldTypes string,string
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_kafka_test","granularity":"all","dimensions":[{"type":"default","dimension":"user","outputName":"user","outputType":"STRING"},{"type":"default","dimension":"language","outputName":"language","outputType":"STRING"}],"limitSpec":{"type":"default","limit":5,"columns":[{"dimension":"user","direction":"ascending","dimensionOrder":"lexicographic"},{"dimension":"language","direction":"ascending","dimensionOrder":"lexicographic"}]},"aggregations":[],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: language (type: string), user (type: string), 'A' (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ ListSink
+
PREHOOK: query: DROP TABLE druid_kafka_test
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@druid_kafka_test
http://git-wip-us.apache.org/repos/asf/hive/blob/4d006f2a/ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out b/ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
index 879e2a7..a8e6894 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
@@ -261,3 +261,307 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
1969-12-31 15:59:00
1969-12-31 15:59:00
1969-12-31 15:59:00
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` < '2012-03-01 00:00:00'
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` < '2012-03-01 00:00:00'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["1900-01-01T00:00:00.000Z/2012-03-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2012-03-01T00:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
+ AND `__time` < '2011-01-01 00:00:00'
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` >= '2010-01-01 00:00:00' AND `__time` <= '2012-03-01 00:00:00'
+ AND `__time` < '2011-01-01 00:00:00'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2011-01-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00'
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00'
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2011-01-01T00:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2012-01-01 00:00:00' AND '2013-01-01 00:00:00')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2012-01-01 00:00:00' AND '2013-01-01 00:00:00')
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2011-01-01T00:00:00.001Z","2012-01-01T00:00:00.000Z/2013-01-01T00:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2010-06-01 00:00:00' AND '2012-01-01 00:00:00')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE (`__time` BETWEEN '2010-01-01 00:00:00' AND '2011-01-01 00:00:00')
+ OR (`__time` BETWEEN '2010-06-01 00:00:00' AND '2012-01-01 00:00:00')
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2012-01-01T00:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`
+FROM druid_table_test_ts
+WHERE `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2010-01-01T00:00:00.001Z","2011-01-01T00:00:00.000Z/2011-01-01T00:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp)
+ outputColumnNames: _col0
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' AND `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' AND `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc,vc0
+ druid.fieldTypes timestamp,string
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["2010-01-01T00:00:00.000Z/2010-01-01T00:00:00.001Z","2011-01-01T00:00:00.000Z/2011-01-01T00:00:00.001Z"],"filter":{"type":"selector","dimension":"cstring2","value":"user1"},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"'user1'","outputType":"STRING"}],"columns":["vc","vc0"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp), vc0 (type: string)
+ outputColumnNames: _col0, _col1
+ ListSink
+
+PREHOOK: query: EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' OR `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT `__time`, cstring2
+FROM druid_table_test_ts
+WHERE cstring2 = 'user1' OR `__time` IN ('2010-01-01 00:00:00','2011-01-01 00:00:00')
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_test_ts
+ properties:
+ druid.fieldNames vc,cstring2
+ druid.fieldTypes timestamp,string
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_test_ts","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"or","fields":[{"type":"selector","dimension":"cstring2","value":"user1"},{"type":"selector","dimension":"__time","value":"2010-01-01T00:00:00.000Z","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}},{"type":"selector","dimension":"__time","value":"2011-01-01T00:00:00.000Z","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","cstring2"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Select Operator
+ expressions: vc (type: timestamp), cstring2 (type: string)
+ outputColumnNames: _col0, _col1
+ ListSink
+