diff --git data/scripts/q_test_cleanup_druid.sql data/scripts/q_test_cleanup_druid.sql index b0d3425704..1ebc718c3f 100644 --- data/scripts/q_test_cleanup_druid.sql +++ data/scripts/q_test_cleanup_druid.sql @@ -1,2 +1 @@ -DROP TABLE IF EXISTS alltypesorc; DROP TABLE IF EXISTS druid_table; diff --git druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java index 076f00af37..a0be0de8fa 100644 --- druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java +++ druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java @@ -50,6 +50,7 @@ import io.druid.query.Druids; import io.druid.query.aggregation.AggregatorFactory; import io.druid.query.aggregation.DoubleSumAggregatorFactory; +import io.druid.query.aggregation.FloatSumAggregatorFactory; import io.druid.query.aggregation.LongSumAggregatorFactory; import io.druid.query.expression.LikeExprMacro; import io.druid.query.expression.RegexpExtractExprMacro; @@ -829,6 +830,8 @@ public static IndexSpec getIndexSpec(Configuration jc) { af = new LongSumAggregatorFactory(columnNames.get(i), columnNames.get(i)); break; case FLOAT: + af = new FloatSumAggregatorFactory(columnNames.get(i), columnNames.get(i)); + break; case DOUBLE: af = new DoubleSumAggregatorFactory(columnNames.get(i), columnNames.get(i)); break; diff --git itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniDruidLocalCliDriver.java itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniDruidLocalCliDriver.java new file mode 100644 index 0000000000..d53a0f62f3 --- /dev/null +++ itests/qtest/src/test/java/org/apache/hadoop/hive/cli/TestMiniDruidLocalCliDriver.java @@ -0,0 +1,46 @@ +package org.apache.hadoop.hive.cli; + +import org.apache.hadoop.hive.cli.control.CliAdapter; +import org.apache.hadoop.hive.cli.control.CliConfigs; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestRule; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.io.File; +import java.util.List; + +/** + * This is used only for dev debugging if needed + */ +@RunWith(Parameterized.class) +public class TestMiniDruidLocalCliDriver { + static CliAdapter adapter = new CliConfigs.MiniDruidLocalCliConfig().getCliAdapter(); + + @Parameterized.Parameters(name = "{0}") + public static List getParameters() throws Exception { + return adapter.getParameters(); + } + + @ClassRule + public static TestRule cliClassRule = adapter.buildClassRule(); + + @Rule + public TestRule cliTestRule = adapter.buildTestRule(); + + private String name; + private File qfile; + + public TestMiniDruidLocalCliDriver(String name, File qfile) { + this.name = name; + this.qfile = qfile; + } + + @Test + public void testCliDriver() throws Exception { + adapter.runTest(name, qfile); + } + +} diff --git itests/src/test/resources/testconfiguration.properties itests/src/test/resources/testconfiguration.properties index cf6d19a593..59ca2f8a26 100644 --- itests/src/test/resources/testconfiguration.properties +++ itests/src/test/resources/testconfiguration.properties @@ -1677,14 +1677,13 @@ spark.only.query.negative.files=spark_job_max_tasks.q,\ spark.perf.disabled.query.files=query14.q,\ query64.q -druid.query.files=druidmini_test1.q,\ - druidmini_test_insert.q,\ +druid.query.files= druidmini_test_insert.q,\ druidmini_mv.q,\ druid_timestamptz.q,\ druidmini_dynamic_partition.q,\ druidmini_expressions.q,\ - druidmini_extractTime.q,\ - druidmini_test_alter.q,\ - druidmini_floorTime.q + druidmini_floor_extract_time.q,\ + druidmini_test_alter.q druid.kafka.query.files=druidkafkamini_basic.q + diff --git itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CliConfigs.java itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CliConfigs.java index cf8cea7fec..2d54f7470c 100644 --- itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CliConfigs.java +++ itests/util/src/main/java/org/apache/hadoop/hive/cli/control/CliConfigs.java @@ -250,6 +250,33 @@ public MiniLlapLocalCliConfig() { } } + public static class MiniDruidLocalCliConfig extends AbstractCliConfig { + + public MiniDruidLocalCliConfig() { + super(CoreCliDriver.class); + try { + setQueryDir("ql/src/test/queries/clientpositive"); + + includesFrom(testConfigProps, "druid.query.files"); + + setResultsDir("ql/src/test/results/clientpositive/druid"); + setLogDir("itests/qtest/target/tmp/log"); + + setInitScript("q_test_druid_init.sql"); + setCleanupScript("q_test_cleanup_druid.sql"); + setHiveConfDir("data/conf/llap"); + setClusterType(MiniClusterType.druid_local); + setMetastoreType(MetastoreType.sql); + setFsType(QTestUtil.FsType.local); + setQueryDir("ql/src/test/queries/clientpositive"); + + } catch (Exception e) { + throw new RuntimeException("can't construct cliconfig", e); + } + } + } + + public static class EncryptedHDFSCliConfig extends AbstractCliConfig { public EncryptedHDFSCliConfig() { super(CoreCliDriver.class); diff --git itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java index 16571b3ff3..374b1e4daa 100644 --- itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java +++ itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java @@ -182,7 +182,7 @@ private HadoopShims.MiniDFSShim dfs = null; private FileSystem fs; private HadoopShims.HdfsEncryptionShim hes = null; - private MiniLlapCluster llapCluster = null; + private MiniLlapCluster llapCluster; private String hadoopVer = null; private QTestSetup setup = null; private SparkSession sparkSession = null; @@ -490,7 +490,8 @@ private void createRemoteDirs() { none(CoreClusterType.MR, FsType.local), druid(CoreClusterType.TEZ, FsType.hdfs), druidKafka(CoreClusterType.TEZ, FsType.hdfs), - kafka(CoreClusterType.TEZ, FsType.hdfs); + kafka(CoreClusterType.TEZ, FsType.hdfs), + druid_local(CoreClusterType.TEZ,FsType.local); private final CoreClusterType coreClusterType; @@ -527,6 +528,8 @@ public static MiniClusterType valueForString(String type) { return llap_local; } else if (type.equals("druid")) { return druid; + } else if (type.equals("druid_local")) { + return druid_local; } else if (type.equals("druid-kafka")) { return druidKafka; } @@ -674,7 +677,8 @@ private void setupMiniCluster(HadoopShims shims, String confDir) throws String uriString = fs.getUri().toString(); - if (clusterType == MiniClusterType.druid || clusterType == MiniClusterType.druidKafka) { + if (clusterType == MiniClusterType.druid || clusterType == MiniClusterType.druidKafka + || clusterType == MiniClusterType.druid_local) { final String tempDir = System.getProperty("test.tmp.dir"); druidCluster = new MiniDruidCluster("mini-druid", getLogDirectory(), @@ -687,6 +691,9 @@ private void setupMiniCluster(HadoopShims shims, String confDir) throws conf.set("hive.druid.storage.storageDirectory", druidDeepStorage.toUri().getPath()); conf.set("hive.druid.metadata.db.type", "derby"); conf.set("hive.druid.metadata.uri", druidCluster.getMetadataURI()); + conf.set("hive.druid.passiveWaitTimeMs", "10000"); + conf.set("hive.druid.maxTries", "8"); + final Path scratchDir = fs .makeQualified(new Path(System.getProperty("test.tmp.dir"), "druidStagingDir")); fs.mkdirs(scratchDir); @@ -714,15 +721,22 @@ private void setupMiniCluster(HadoopShims shims, String confDir) throws + "/tez-site.xml")); } int numTrackers = 2; - if (EnumSet.of(MiniClusterType.llap, MiniClusterType.llap_local).contains(clusterType)) { + if (EnumSet + .of(MiniClusterType.llap, MiniClusterType.llap_local, MiniClusterType.druid_local, MiniClusterType.druid) + .contains(clusterType)) { llapCluster = LlapItUtils.startAndGetMiniLlapCluster(conf, setup.zooKeeperCluster, confDir); } else { + llapCluster = null; } - if (EnumSet.of(MiniClusterType.llap_local, MiniClusterType.tez_local).contains(clusterType)) { - mr = shims.getLocalMiniTezCluster(conf, clusterType == MiniClusterType.llap_local); + if (EnumSet.of(MiniClusterType.llap_local, MiniClusterType.tez_local, MiniClusterType.druid_local) + .contains(clusterType)) { + mr = shims.getLocalMiniTezCluster(conf, + clusterType == MiniClusterType.llap_local || clusterType == MiniClusterType.druid_local + ); } else { mr = shims.getMiniTezCluster(conf, numTrackers, uriString, - EnumSet.of(MiniClusterType.llap, MiniClusterType.llap_local).contains(clusterType)); + EnumSet.of(MiniClusterType.llap, MiniClusterType.llap_local, MiniClusterType.druid).contains(clusterType) + ); } } else if (clusterType == MiniClusterType.miniSparkOnYarn) { mr = shims.getMiniSparkCluster(conf, 2, uriString, 1); diff --git ql/src/test/queries/clientpositive/druidmini_dynamic_partition.q ql/src/test/queries/clientpositive/druidmini_dynamic_partition.q index 71d1c5622d..ebadfe33c7 100644 --- ql/src/test/queries/clientpositive/druidmini_dynamic_partition.q +++ ql/src/test/queries/clientpositive/druidmini_dynamic_partition.q @@ -64,9 +64,6 @@ SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, cboolean1, cboolean2 FROM alltypesorc where ctimestamp1 IS NOT NULL; --- @FIXME https://issues.apache.org/jira/browse/HIVE-19011 --- SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table; --- SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table_0; SELECT sum(cint), sum(cbigint) FROM druid_partitioned_table; @@ -113,8 +110,6 @@ SELECT cast (`ctimestamp2` as timestamp with local time zone) as `__time`, cboolean1, cboolean2 FROM alltypesorc where ctimestamp2 IS NOT NULL; --- @FIXME https://issues.apache.org/jira/browse/HIVE-19011 --- SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table; SELECT sum(cint), sum(cbigint) FROM druid_partitioned_table; @@ -147,10 +142,6 @@ INSERT OVERWRITE TABLE druid_partitioned_table cboolean2 FROM alltypesorc where ctimestamp1 IS NOT NULL; --- @FIXME https://issues.apache.org/jira/browse/HIVE-19011 ---SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table ; ---SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table_0; - SELECT sum(cint), sum(cbigint) FROM druid_partitioned_table ; set hive.druid.indexer.partition.size.max=10; @@ -177,11 +168,6 @@ CREATE TABLE druid_max_size_partition SELECT sum(cint), sum(cbigint) FROM druid_max_size_partition ; --- @FIXME https://issues.apache.org/jira/browse/HIVE-19011 ---SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_max_size_partition ; ---SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table_0; ---SELECT sum(cint), max(cbigint), sum(cbigint), max(cint) FROM druid_partitioned_table ; - DROP TABLE druid_partitioned_table_0; DROP TABLE druid_partitioned_table; DROP TABLE druid_max_size_partition; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/druidmini_expressions.q ql/src/test/queries/clientpositive/druidmini_expressions.q index 882d7afacd..4d19f9ce01 100644 --- ql/src/test/queries/clientpositive/druidmini_expressions.q +++ ql/src/test/queries/clientpositive/druidmini_expressions.q @@ -1,5 +1,6 @@ SET hive.vectorized.execution.enabled=false; -CREATE TABLE druid_table + +CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -48,6 +49,105 @@ EXPLAIN SELECT cstring1 || '_'|| cstring2, substring(cstring2, 2, 3) as concat , GROUP BY cstring1 || '_'|| cstring2, substring(cstring2, 2, 3), upper(cstring2), lower(cstring1) ORDER BY concat DESC LIMIT 10; +-- Time Series Query +explain select count(*) FROM druid_table; +SELECT count(*) FROM druid_table; + +EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + +SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + +EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + +SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + +EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + +SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`); + + +-- Group By + + +EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10; + +SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10; + + +EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10; + +SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10; + + +-- TIME STUFF + +EXPLAIN +SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10; + +SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10; + +EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; + + +EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10;; + + +SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10;; + + +EXPLAIN +SELECT `__time` +FROM druid_table +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; -DROP TABLE druid_table; \ No newline at end of file +SELECT `__time` +FROM druid_table +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; diff --git ql/src/test/queries/clientpositive/druidmini_floorTime.q ql/src/test/queries/clientpositive/druidmini_floorTime.q deleted file mode 100644 index 4e14855b17..0000000000 --- ql/src/test/queries/clientpositive/druidmini_floorTime.q +++ /dev/null @@ -1,164 +0,0 @@ -SET hive.vectorized.execution.enabled=false; -CREATE TABLE druid_table -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL; - - --- GROUP BY TIME EXTRACT ---SECONDS -SELECT floor(`__time` to SECOND) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to SECOND); - -EXPLAIN SELECT floor(`__time` to SECOND) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to SECOND); - - --- MINUTES -SELECT floor(`__time` to MINUTE) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to MINUTE); - -EXPLAIN SELECT floor(`__time` to MINUTE) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to MINUTE); - --- HOUR -SELECT floor(`__time` to HOUR) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to HOUR); - -EXPLAIN SELECT floor(`__time` to HOUR) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to HOUR); - --- DAY -SELECT EXTRACT(DAY from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`); - -EXPLAIN SELECT EXTRACT(DAY from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`); - ---WEEK -SELECT EXTRACT(WEEK from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`); - - -EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`); - ---MONTH -SELECT EXTRACT(MONTH from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`); - -EXPLAIN SELECT EXTRACT(MONTH from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`); - ---QUARTER - -SELECT EXTRACT(QUARTER from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`); - -EXPLAIN SELECT EXTRACT(QUARTER from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`); - --- YEAR -SELECT EXTRACT(YEAR from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`); - - -EXPLAIN SELECT EXTRACT(YEAR from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`); - --- SELECT WITHOUT GROUP BY - --- SECOND - -EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1; - -SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1; - --- MINUTE - -EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table -WHERE EXTRACT(MINUTE from `__time`) >= 0 LIMIT 2; - -SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table - WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2; --- HOUR - -EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1; - -SELECT EXTRACT(HOUR from `__time`) FROM druid_table -WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 -AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1; - ---DAY - -EXPLAIN SELECT EXTRACT(DAY from `__time`), EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS day_str -FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1; - -SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS dar_str -FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 ; - --- WEEK - -EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 -AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1; - -SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 -AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 ; - ---MONTH - -EXPLAIN SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table -WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1; - -SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table - WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1; - - ---QUARTER - -EXPLAIN SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 - AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1; - -SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 - AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1; - ---YEAR - -EXPLAIN SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) AS year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 -AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1; - -SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) as year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 -AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1; - - -DROP TABLE druid_table; \ No newline at end of file diff --git ql/src/test/queries/clientpositive/druidmini_extractTime.q ql/src/test/queries/clientpositive/druidmini_floor_extract_time.q similarity index 51% rename from ql/src/test/queries/clientpositive/druidmini_extractTime.q rename to ql/src/test/queries/clientpositive/druidmini_floor_extract_time.q index 2f7129edeb..967ce046fa 100644 --- ql/src/test/queries/clientpositive/druidmini_extractTime.q +++ ql/src/test/queries/clientpositive/druidmini_floor_extract_time.q @@ -1,5 +1,6 @@ SET hive.vectorized.execution.enabled=false; -CREATE TABLE druid_table + +CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -161,4 +162,145 @@ SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STR AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1; -DROP TABLE druid_table; \ No newline at end of file +-- GROUP BY TIME EXTRACT +--SECONDS +SELECT floor(`__time` to SECOND) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to SECOND); + +EXPLAIN SELECT floor(`__time` to SECOND) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to SECOND); + + +-- MINUTES +SELECT floor(`__time` to MINUTE) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to MINUTE); + +EXPLAIN SELECT floor(`__time` to MINUTE) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to MINUTE); + +-- HOUR +SELECT floor(`__time` to HOUR) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to HOUR); + +EXPLAIN SELECT floor(`__time` to HOUR) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to HOUR); + +-- DAY +SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`); + +EXPLAIN SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`); + +--WEEK +SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`); + + +EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`); + +--MONTH +SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`); + +EXPLAIN SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`); + +--QUARTER + +SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`); + +EXPLAIN SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`); + +-- YEAR +SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`); + + +EXPLAIN SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`); + +-- SELECT WITHOUT GROUP BY + +-- SECOND + +EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1; + +SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1; + +-- MINUTE + +EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE EXTRACT(MINUTE from `__time`) >= 0 LIMIT 2; + +SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table + WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2; +-- HOUR + +EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1; + +SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1; + +--DAY + +EXPLAIN SELECT EXTRACT(DAY from `__time`), EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS day_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1; + +SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS dar_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 ; + +-- WEEK + +EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1; + +SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 ; + +--MONTH + +EXPLAIN SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table +WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1; + +SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table + WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1; + + +--QUARTER + +EXPLAIN SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1; + +SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1; + +--YEAR + +EXPLAIN SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) AS year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1; + +SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) as year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1; diff --git ql/src/test/queries/clientpositive/druidmini_test1.q ql/src/test/queries/clientpositive/druidmini_test1.q deleted file mode 100644 index ad9546f6dc..0000000000 --- ql/src/test/queries/clientpositive/druidmini_test1.q +++ /dev/null @@ -1,122 +0,0 @@ ---! qt:dataset:alltypesorc -CREATE TABLE druid_table -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL; - --- Time Series Query -explain select count(*) FROM druid_table; -SELECT count(*) FROM druid_table; - - -EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - -SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - -EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - -SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - - -EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - -SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`); - - --- Group By - - -EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10; - -SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10; - - -EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10; - -SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10; - - --- TIME STUFF - -EXPLAIN -SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10; - -SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10; - -EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10; - - -EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10;; - - -SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10;; - - -EXPLAIN -SELECT `__time` -FROM druid_table -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; - - -SELECT `__time` -FROM druid_table -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; diff --git ql/src/test/queries/clientpositive/druidmini_test_alter.q ql/src/test/queries/clientpositive/druidmini_test_alter.q index 15ae952d6a..71e6a233cf 100644 --- ql/src/test/queries/clientpositive/druidmini_test_alter.q +++ ql/src/test/queries/clientpositive/druidmini_test_alter.q @@ -1,4 +1,6 @@ -CREATE TABLE druid_alltypesorc +SET hive.vectorized.execution.enabled=false; + +CREATE TABLE IF NOT EXISTS druid_alltypesorc STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS diff --git ql/src/test/queries/clientpositive/druidmini_test_insert.q ql/src/test/queries/clientpositive/druidmini_test_insert.q index c14a1b6f7e..756bab5463 100644 --- ql/src/test/queries/clientpositive/druidmini_test_insert.q +++ ql/src/test/queries/clientpositive/druidmini_test_insert.q @@ -1,88 +1,11 @@ ---! qt:dataset:alltypesorc -CREATE TABLE druid_alltypesorc -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp2` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp2 IS NOT NULL; - -SELECT COUNT(*) FROM druid_alltypesorc; - -INSERT INTO TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL; - - -SELECT COUNT(*) FROM druid_alltypesorc; - -INSERT OVERWRITE TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL; - -SELECT COUNT(*) FROM druid_alltypesorc; - -DROP TABLE druid_alltypesorc; - - -- Test create then insert - - create database druid_test_create_then_insert; - use druid_test_create_then_insert; - - create table test_table(`timecolumn` timestamp, `userid` string, `num_l` float); - - insert into test_table values ('2015-01-08 00:00:00', 'i1-start', 4); - insert into test_table values ('2015-01-08 23:59:59', 'i1-end', 1); - - CREATE TABLE druid_table (`__time` timestamp with local time zone, `userid` string, `num_l` float) - STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' - TBLPROPERTIES ("druid.segment.granularity" = "DAY"); - - - INSERT INTO TABLE druid_table - select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_table; - - select count(*) FROM druid_table; - - DROP TABLE test_table; - DROP TABLE druid_table; - DROP DATABASE druid_test_create_then_insert; - +SET hive.vectorized.execution.enabled=false; -- Day light saving time test insert into test -create database druid_test_dst; +CREATE database druid_test_dst; use druid_test_dst; -create table test_base_table(`timecolumn` timestamp, `userid` string, `num_l` float); + +create table test_base_table(`timecolumn` timestamp, `interval_marker` string, `num_l` double); insert into test_base_table values ('2015-03-08 00:00:00', 'i1-start', 4); insert into test_base_table values ('2015-03-08 23:59:59', 'i1-end', 1); insert into test_base_table values ('2015-03-09 00:00:00', 'i2-start', 4); @@ -94,8 +17,9 @@ CREATE TABLE druid_test_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "DAY") AS -select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_base_table; - +select cast(`timecolumn` as timestamp with local time zone) as `__time`, `interval_marker`, `num_l` +FROM druid_test_dst.test_base_table; +-- the results of this test is wrong please see https://issues.apache.org/jira/browse/HIVE-19443 select * FROM druid_test_table; select * from druid_test_table where `__time` = cast('2015-03-08 00:00:00' as timestamp with local time zone); @@ -137,7 +61,18 @@ EXPLAIN select * from druid_test_table where `__time` = cast('2015-03-09 23:59:5 EXPLAIN select * from druid_test_table where `__time` = cast('2015-03-10 00:00:00' as timestamp ); EXPLAIN select * from druid_test_table where `__time` = cast('2015-03-10 23:59:59' as timestamp ); + +-- test insert overwrite + +INSERT OVERWRITE TABLE druid_test_table +select cast(`timecolumn` as timestamp with local time zone) as `__time`, + `interval_marker`, + `num_l` + FROM test_base_table where interval_marker = 'i2-start' or interval_marker = 'i2-end'; + +SELECT * FROM druid_test_table; + DROP TABLE test_base_table; DROP TABLE druid_test_table; -drop database druid_test_dst; +DROP database druid_test_dst; diff --git ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out index 28deb79821..ac0bf1dcbb 100644 --- ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out @@ -136,7 +136,10 @@ STAGE PLANS: Map-reduce partition columns: __time_granularity (type: timestamp), __druid_extra_partition_key (type: bigint) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: timestamp with local time zone), _col1 (type: string), _col2 (type: string), _col3 (type: double), _col4 (type: float), _col5 (type: tinyint), _col6 (type: smallint), _col7 (type: int), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: boolean) + Execution mode: llap + LLAP IO: all inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: timestamp with local time zone), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: double), VALUE._col4 (type: float), VALUE._col5 (type: tinyint), VALUE._col6 (type: smallint), VALUE._col7 (type: int), VALUE._col8 (type: bigint), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), KEY.__time_granularity (type: timestamp), KEY.__druid_extra_partition_key (type: bigint) @@ -369,7 +372,10 @@ STAGE PLANS: Map-reduce partition columns: __time_granularity (type: timestamp), __druid_extra_partition_key (type: bigint) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: timestamp with local time zone), _col1 (type: string), _col2 (type: string), _col3 (type: double), _col4 (type: float), _col5 (type: tinyint), _col6 (type: smallint), _col7 (type: int), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: boolean) + Execution mode: llap + LLAP IO: all inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: timestamp with local time zone), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: double), VALUE._col4 (type: float), VALUE._col5 (type: tinyint), VALUE._col6 (type: smallint), VALUE._col7 (type: int), VALUE._col8 (type: bigint), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), KEY.__time_granularity (type: timestamp), KEY.__druid_extra_partition_key (type: bigint) @@ -506,7 +512,10 @@ STAGE PLANS: Map-reduce partition columns: __time_granularity (type: timestamp), __druid_extra_partition_key (type: bigint) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: timestamp with local time zone), _col1 (type: string), _col2 (type: string), _col3 (type: double), _col4 (type: float), _col5 (type: tinyint), _col6 (type: smallint), _col7 (type: int), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: boolean) + Execution mode: llap + LLAP IO: all inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: timestamp with local time zone), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: double), VALUE._col4 (type: float), VALUE._col5 (type: tinyint), VALUE._col6 (type: smallint), VALUE._col7 (type: int), VALUE._col8 (type: bigint), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), KEY.__time_granularity (type: timestamp), KEY.__druid_extra_partition_key (type: bigint) diff --git ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out index a6fa042de7..4e26fa254f 100644 --- ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out @@ -1,4 +1,4 @@ -PREHOOK: query: CREATE TABLE druid_table +PREHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -18,7 +18,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@alltypesorc PREHOOK: Output: database:default PREHOOK: Output: default@druid_table -POSTHOOK: query: CREATE TABLE druid_table +POSTHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -90,7 +90,7 @@ FROM druid_table WHERE ceil(cfloat) > 0 AND floor(cdouble) * 2 < 1000 OR ln(cdou POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table POSTHOOK: Output: hdfs://### HDFS PATH ### -19884.64700973034 27373419 14472 8.51628242804E11 851620413654 68151649880 +19884.646918177605 27373419 14472 8.51628242804E11 851620413654 68151649880 PREHOOK: query: SELECT SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), SUM(cint), SUM(cbigint) FROM druid_table WHERE ceil(cfloat) > 0 AND floor(cdouble) * 2 < 1000 PREHOOK: type: QUERY @@ -101,7 +101,7 @@ FROM druid_table WHERE ceil(cfloat) > 0 AND floor(cdouble) * 2 < 1000 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table POSTHOOK: Output: hdfs://### HDFS PATH ### -54430.27000427246 -3740445 51268 1.31919188502E11 131922984948 92160895030 +54430.269943237305 -3740445 51268 1.31919188502E11 131922984948 92160895030 PREHOOK: query: SELECT SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), SUM(cint), SUM(cbigint) FROM druid_table WHERE ln(cdouble) / log10(10) > 0 AND COS(cint) > 0 OR SIN(cdouble) > 1 PREHOOK: type: QUERY @@ -112,7 +112,7 @@ FROM druid_table WHERE ln(cdouble) / log10(10) > 0 AND COS(cint) > 0 OR SIN(cdo POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table POSTHOOK: Output: hdfs://### HDFS PATH ### --2389.5169917345047 27640645 -5707 7.19705549994E11 719697428706 13774723379 +-2389.517022252083 27640645 -5707 7.19705549994E11 719697428706 13774723379 PREHOOK: query: SELECT SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), SUM(cint), SUM(cbigint) FROM druid_table WHERE SIN(cdouble) > 1 PREHOOK: type: QUERY @@ -184,7 +184,10 @@ STAGE PLANS: sort order: Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: bigint) + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator aggregations: count(VALUE._col0) @@ -257,11 +260,769 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4 ListSink -PREHOOK: query: DROP TABLE druid_table -PREHOOK: type: DROPTABLE +PREHOOK: query: explain select count(*) FROM druid_table +PREHOOK: type: QUERY +POSTHOOK: query: explain select count(*) FROM druid_table +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 + properties: + druid.fieldNames $f0 + druid.fieldTypes bigint + druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":"all","aggregations":[{"type":"count","name":"$f0"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":false}} + druid.query.type timeseries + Select Operator + expressions: $f0 (type: bigint) + outputColumnNames: _col0 + ListSink + +PREHOOK: query: SELECT count(*) FROM druid_table +PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: default@druid_table -POSTHOOK: query: DROP TABLE druid_table -POSTHOOK: type: DROPTABLE +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT count(*) FROM druid_table +POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +6105 +PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +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 + properties: + druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 + druid.fieldTypes timestamp with local time zone,double,double,bigint,bigint,bigint,bigint + druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleSum","name":"$f1","fieldName":"cfloat"},{"type":"doubleSum","name":"$f2","fieldName":"cdouble"},{"type":"longSum","name":"$f3","fieldName":"ctinyint"},{"type":"longSum","name":"$f4","fieldName":"csmallint"},{"type":"longSum","name":"$f5","fieldName":"cint"},{"type":"longSum","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} + druid.query.type timeseries + Select Operator + expressions: timestamp (type: timestamp with local time zone), $f1 (type: double), $f2 (type: double), $f3 (type: bigint), $f4 (type: bigint), $f5 (type: bigint), $f6 (type: bigint) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 + ListSink + +PREHOOK: query: SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-01-01 00:00:00.0 US/Pacific -39590.24724686146 2.7308662809692383E7 -39967 7781089 1408069801800 10992545287 +PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +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 + properties: + druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 + druid.fieldTypes timestamp with local time zone,float,double,tinyint,smallint,int,bigint + druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleMin","name":"$f1","fieldName":"cfloat"},{"type":"doubleMin","name":"$f2","fieldName":"cdouble"},{"type":"longMin","name":"$f3","fieldName":"ctinyint"},{"type":"longMin","name":"$f4","fieldName":"csmallint"},{"type":"longMin","name":"$f5","fieldName":"cint"},{"type":"longMin","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} + druid.query.type timeseries + Select Operator + expressions: timestamp (type: timestamp with local time zone), $f1 (type: float), $f2 (type: double), $f3 (type: tinyint), $f4 (type: smallint), $f5 (type: int), $f6 (type: bigint) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 + ListSink + +PREHOOK: query: SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-01-01 00:00:00.0 US/Pacific -1790.7781 -308691.84375 2 14255 -1073279343 -8577981133 +PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +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 + properties: + druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 + druid.fieldTypes timestamp with local time zone,float,double,tinyint,smallint,int,bigint + druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleMax","name":"$f1","fieldName":"cfloat"},{"type":"doubleMax","name":"$f2","fieldName":"cdouble"},{"type":"longMax","name":"$f3","fieldName":"ctinyint"},{"type":"longMax","name":"$f4","fieldName":"csmallint"},{"type":"longMax","name":"$f5","fieldName":"cint"},{"type":"longMax","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} + druid.query.type timeseries + Select Operator + expressions: timestamp (type: timestamp with local time zone), $f1 (type: float), $f2 (type: double), $f3 (type: tinyint), $f4 (type: smallint), $f5 (type: int), $f6 (type: bigint) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 + ListSink + +PREHOOK: query: SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) +FROM druid_table GROUP BY floor_year(`__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-01-01 00:00:00.0 US/Pacific 769.16394 1.9565518E7 -45 -8101 1276572707 4923772860 +PREHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 +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 + properties: + druid.fieldNames cstring1,$f1 + druid.fieldTypes string,double + druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table","granularity":"all","dimensions":[{"type":"default","dimension":"cstring1","outputName":"cstring1","outputType":"STRING"}],"limitSpec":{"type":"default","limit":10,"columns":[{"dimension":"$f1","direction":"ascending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"doubleSum","name":"$f1","fieldName":"cdouble"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]} + druid.query.type groupBy + Select Operator + expressions: cstring1 (type: string), $f1 (type: double) + outputColumnNames: _col0, _col1 + ListSink + +PREHOOK: query: SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1cGVWH7n1QU -596096.6875 +821UdmGbkEf4j -14161.827026367188 +00iT08 0.0 +02v8WnLuYDos3Cq 0.0 +yv1js 0.0 +02VRbSC5I 0.0 +014ILGhXxNY7g02hl0Xw 0.0 +02vDyIVT752 0.0 +00PafC7v 0.0 +ytpx1RL8F2I 0.0 +PREHOOK: query: EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 +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 + properties: + druid.fieldNames cstring2,$f1 + druid.fieldTypes string,double + druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table","granularity":"all","dimensions":[{"type":"default","dimension":"cstring2","outputName":"cstring2","outputType":"STRING"}],"limitSpec":{"type":"default","limit":10,"columns":[{"dimension":"cstring2","direction":"ascending","dimensionOrder":"lexicographic"}]},"aggregations":[{"type":"doubleMax","name":"$f1","fieldName":"cdouble"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]} + druid.query.type groupBy + Select Operator + expressions: cstring2 (type: string), $f1 (type: double) + outputColumnNames: _col0, _col1 + ListSink + +PREHOOK: query: SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +NULL 1.9565518E7 +0034fkcXMQI3 15601.0 +004J8y 0.0 +00GNm -200.0 +00GW4dnb6Wgj52 -200.0 +00PBhB1Iefgk 0.0 +00d5kr1wEB7evExG 15601.0 +00qccwt8n 0.0 +017fFeQ3Gcsa83Xj2Vo0 0.0 +01EfkvNk6mjG44uxs 0.0 +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","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 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/1970-03-01T08:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-03-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-03-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' + AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-01-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table +WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +PREHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +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 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT `__time` +FROM druid_table +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 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + properties: + druid.fieldNames vc + druid.fieldTypes timestamp with local time zone + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-04-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: vc (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: timestamp with local time zone) + sort order: + + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + TopN Hash Memory Usage: 0.1 + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) + outputColumnNames: _col0 + Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: 10 + Processor Tree: + ListSink + +PREHOOK: query: SELECT `__time` +FROM druid_table +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 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT `__time` +FROM druid_table +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 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific +1969-12-31 15:59:00.0 US/Pacific diff --git ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out index cf8161f4cb..58ac007c6b 100644 --- ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out @@ -1,4 +1,4 @@ -PREHOOK: query: CREATE TABLE druid_table +PREHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -18,7 +18,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@alltypesorc PREHOOK: Output: database:default PREHOOK: Output: default@druid_table -POSTHOOK: query: CREATE TABLE druid_table +POSTHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -54,13 +54,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 0 PREHOOK: query: EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -110,7 +110,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -136,13 +139,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(MINUTE from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 0 59 PREHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table @@ -193,7 +196,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -219,15 +225,15 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -15 +#### A masked pattern was here #### 16 +15 PREHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) @@ -276,7 +282,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -302,13 +311,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(DAY from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 31 PREHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -358,7 +367,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -384,13 +396,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 1 PREHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -440,7 +452,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -466,13 +481,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(MONTH from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 12 PREHOOK: query: EXPLAIN SELECT EXTRACT(MONTH from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -522,7 +537,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -548,13 +566,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(QUARTER from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 4 PREHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -604,7 +622,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -630,13 +651,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(YEAR from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 1969 PREHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 @@ -686,7 +707,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -734,11 +758,11 @@ STAGE PLANS: PREHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 0 0 PREHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table @@ -771,12 +795,12 @@ PREHOOK: query: SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 0 0 PREHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table @@ -817,13 +841,13 @@ WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyi AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 15 PREHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`), EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS day_str FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 @@ -855,12 +879,12 @@ PREHOOK: query: SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) D FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS dar_str FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 31 4 31 31 4 31 PREHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 @@ -893,12 +917,12 @@ PREHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRAC AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 1 1 PREHOOK: query: EXPLAIN SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table @@ -931,12 +955,12 @@ PREHOOK: query: SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 4.0 12 12 4.0 12 12 PREHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 @@ -969,12 +993,12 @@ PREHOOK: query: SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__ti AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 4 4.0 4 4.0 PREHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) AS year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 @@ -1007,19 +1031,11 @@ PREHOOK: query: SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### POSTHOOK: query: SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) as year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### +#### A masked pattern was here #### 1969 1969 1969 1969 -PREHOOK: query: DROP TABLE druid_table -PREHOOK: type: DROPTABLE -PREHOOK: Input: default@druid_table -PREHOOK: Output: default@druid_table -POSTHOOK: query: DROP TABLE druid_table -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: default@druid_table diff --git ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out ql/src/test/results/clientpositive/druid/druidmini_floor_extract_time.q.out similarity index 50% rename from ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out rename to ql/src/test/results/clientpositive/druid/druidmini_floor_extract_time.q.out index 0405b7dd87..e1de14e725 100644 --- ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_floor_extract_time.q.out @@ -1,4 +1,4 @@ -PREHOOK: query: CREATE TABLE druid_table +PREHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -18,7 +18,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@alltypesorc PREHOOK: Output: database:default PREHOOK: Output: default@druid_table -POSTHOOK: query: CREATE TABLE druid_table +POSTHOOK: query: CREATE TABLE IF NOT EXISTS druid_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -49,6 +49,996 @@ POSTHOOK: Lineage: druid_table.csmallint SIMPLE [(alltypesorc)alltypesorc.FieldS POSTHOOK: Lineage: druid_table.cstring1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ] POSTHOOK: Lineage: druid_table.cstring2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring2, type:string, comment:null), ] POSTHOOK: Lineage: druid_table.ctinyint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctinyint, type:tinyint, comment:null), ] +PREHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +0 +PREHOOK: query: EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(SECOND from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: second(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +0 +59 +PREHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MINUTE from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: minute(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +16 +15 +PREHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(HOUR from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: hour(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +31 +PREHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(DAY from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: day(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1 +PREHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(WEEK from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: weekofyear(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +12 +PREHOOK: query: EXPLAIN SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(MONTH from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(MONTH from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: month(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +4 +PREHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(QUARTER from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: quarter(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969 +PREHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY EXTRACT(YEAR from `__time`) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Tez +#### A masked pattern was here #### + Edges: + Reducer 2 <- Map 1 (SIMPLE_EDGE) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: druid_table + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Statistics: Num rows: 9173 Data size: 383504 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: year(vc) (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int) + sort order: + + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs + Reducer 2 + Execution mode: llap + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: int) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1528 Data size: 63882 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 +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 + properties: + druid.fieldNames vc + druid.fieldTypes int + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"bound","dimension":"__time","lower":"0","lowerStrict":false,"upper":"0","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"s","timeZone":"US/Pacific","locale":"en-US"}},"virtualColumns":[{"type":"expression","name":"vc","expression":"0","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: int) + outputColumnNames: _col0 + ListSink + +PREHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(SECOND from `__time`) FROM druid_table WHERE EXTRACT(SECOND from `__time`) = 0 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +0 +0 +PREHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE EXTRACT(MINUTE from `__time`) >= 0 LIMIT 2 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(MINUTE from `__time`) FROM druid_table +WHERE EXTRACT(MINUTE from `__time`) >= 0 LIMIT 2 +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 + properties: + druid.fieldNames vc + druid.fieldTypes int + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"bound","dimension":"__time","lower":"0","lowerStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"m","timeZone":"US/Pacific","locale":"en-US"}},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'MINUTE','US/Pacific')","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList","limit":2} + druid.query.type scan + Select Operator + expressions: vc (type: int) + outputColumnNames: _col0 + ListSink + +PREHOOK: query: SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table + WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(MINUTE from `__time`) as minute FROM druid_table + WHERE EXTRACT(MINUTE from `__time`) >= 0 order by minute LIMIT 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +0 +0 +PREHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 +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 + filterExpr: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + properties: + druid.fieldNames vc,ctinyint + druid.fieldTypes timestamp with local time zone,tinyint + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(strlen(CAST(\"ctinyint\", 'STRING')) > 1)"},{"type":"expression","expression":"((pow(\"cfloat\",2) * pow(\"csmallint\",3)) > 1)"},{"type":"expression","expression":"(sqrt(abs(\"ctinyint\")) > 3)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc","ctinyint"],"resultFormat":"compactedList"} + druid.query.type scan + Filter Operator + predicate: (character_length(UDFToString(ctinyint)) < 10) (type: boolean) + Select Operator + expressions: hour(vc) (type: int) + outputColumnNames: _col0 + Limit + Number of rows: 1 + ListSink + +PREHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(HOUR from `__time`) FROM druid_table +WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 +AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +15 +PREHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`), EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS day_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(DAY from `__time`), EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS day_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 +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 + properties: + druid.fieldNames vc,vc0,vc1 + druid.fieldTypes int,bigint,string + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"expression","expression":"(CAST(substring(timestamp_format(timestamp_floor(\"__time\",'P1D','','US/Pacific'),'yyyy-MM-dd','US/Pacific'), 8, 2), 'DOUBLE') == 31)"},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'DAY','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"div(timestamp_extract(\"__time\",'DAY','US/Pacific'),7)","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(\"__time\",'P1D','','US/Pacific'),'yyyy-MM-dd','US/Pacific'), 8, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: int), vc0 (type: bigint), vc1 (type: string) + outputColumnNames: _col0, _col1, _col2 + ListSink + +PREHOOK: query: SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS dar_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(DAY from `__time`) , EXTRACT(DAY from `__time`) DIV 7 AS WEEK, SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) AS dar_str +FROM druid_table WHERE SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 9, 2) = 31 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +31 4 31 +31 4 31 +PREHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 +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 + properties: + druid.fieldNames vc + druid.fieldTypes int + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"bound","dimension":"__time","lower":"1","lowerStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"w","timeZone":"US/Pacific","locale":"en-US"}},{"type":"expression","expression":"((div(timestamp_extract(\"__time\",'WEEK','US/Pacific'),4) + 1) == 1)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'WEEK','US/Pacific')","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: int) + outputColumnNames: _col0 + ListSink + +PREHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(WEEK from `__time`) FROM druid_table WHERE EXTRACT(WEEK from `__time`) >= 1 +AND EXTRACT(WEEK from `__time`) DIV 4 + 1 = 1 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1 +1 +PREHOOK: query: EXPLAIN SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table +WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table +WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 +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 + properties: + druid.fieldNames vc,vc0,vc1 + druid.fieldTypes double,int,string + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"},{"type":"bound","dimension":"__time","lower":"11","lowerStrict":false,"upper":"12","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"},{"type":"expression","name":"vc0","expression":"timestamp_extract(\"__time\",'MONTH','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(\"__time\",'P1D','','US/Pacific'),'yyyy-MM-dd','US/Pacific'), 5, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: double), vc0 (type: int), vc1 (type: string) + outputColumnNames: _col0, _col1, _col2 + ListSink + +PREHOOK: query: SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table + WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(MONTH FROM `__time`) / 4 + 1, EXTRACT(MONTH FROM `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 6, 2) as month_str FROM druid_table + WHERE EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 AND EXTRACT(MONTH FROM `__time`) BETWEEN 11 AND 12 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +4.0 12 12 +4.0 12 12 +PREHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 +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 + properties: + druid.fieldNames vc,vc0 + druid.fieldTypes int,double + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(timestamp_extract(\"__time\",'QUARTER','US/Pacific') >= 4)"},{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: int), vc0 (type: double) + outputColumnNames: _col0, _col1 + ListSink + +PREHOOK: query: SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(QUARTER from `__time`), EXTRACT(MONTH FROM `__time`) / 4 + 1 as q_number FROM druid_table WHERE EXTRACT(QUARTER from `__time`) >= 4 + AND EXTRACT(MONTH FROM `__time`) / 4 + 1 = 4 LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +4 4.0 +4 4.0 +PREHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) AS year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) AS year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 +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 + properties: + druid.fieldNames vc,vc0 + druid.fieldTypes int,string + druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"bound","dimension":"__time","lower":"1969","lowerStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"yyyy","timeZone":"US/Pacific","locale":"en-US"}},{"type":"expression","expression":"(CAST(timestamp_extract(\"__time\",'YEAR','US/Pacific'), 'STRING') == '1969')"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'YEAR','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"substring(timestamp_format(timestamp_floor(\"__time\",'P1D','','US/Pacific'),'yyyy-MM-dd','US/Pacific'), 0, 4)","outputType":"STRING"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1} + druid.query.type scan + Select Operator + expressions: vc (type: int), vc0 (type: string) + outputColumnNames: _col0, _col1 + ListSink + +PREHOOK: query: SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) as year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@druid_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT EXTRACT(YEAR from `__time`), SUBSTRING(CAST(CAST(`__time` AS DATE) AS STRING), 1, 4) as year_str FROM druid_table WHERE EXTRACT(YEAR from `__time`) >= 1969 +AND CAST(EXTRACT(YEAR from `__time`) as STRING) = '1969' LIMIT 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@druid_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +1969 1969 +1969 1969 PREHOOK: query: SELECT floor(`__time` to SECOND) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to SECOND) @@ -111,7 +1101,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: timestamp with local time zone) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: timestamp with local time zone) @@ -194,7 +1187,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: timestamp with local time zone) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: timestamp with local time zone) @@ -227,8 +1223,8 @@ AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP B POSTHOOK: type: QUERY POSTHOOK: Input: default@druid_table POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:00:00.0 US/Pacific 1969-12-31 16:00:00.0 US/Pacific +1969-12-31 15:00:00.0 US/Pacific PREHOOK: query: EXPLAIN SELECT floor(`__time` to HOUR) FROM druid_table WHERE character_length(CAST(ctinyint AS STRING)) > 1 AND char_length(CAST(ctinyint AS STRING)) < 10 AND power(cfloat, 2) * pow(csmallint, 3) > 1 AND SQRT(ABS(ctinyint)) > 3 GROUP BY floor(`__time` to HOUR) @@ -277,7 +1273,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: timestamp with local time zone) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: timestamp with local time zone) @@ -359,7 +1358,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -441,7 +1443,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -523,7 +1528,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -605,7 +1613,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -687,7 +1698,10 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 3057 Data size: 127806 Basic stats: COMPLETE Column stats: NONE + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Group By Operator keys: KEY._col0 (type: int) @@ -1016,11 +2030,3 @@ POSTHOOK: Input: default@druid_table POSTHOOK: Output: hdfs://### HDFS PATH ### 1969 1969 1969 1969 -PREHOOK: query: DROP TABLE druid_table -PREHOOK: type: DROPTABLE -PREHOOK: Input: default@druid_table -PREHOOK: Output: default@druid_table -POSTHOOK: query: DROP TABLE druid_table -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: default@druid_table diff --git ql/src/test/results/clientpositive/druid/druidmini_mv.q.out ql/src/test/results/clientpositive/druid/druidmini_mv.q.out index a5d338f55c..098f42d8bc 100644 --- ql/src/test/results/clientpositive/druid/druidmini_mv.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_mv.q.out @@ -226,6 +226,8 @@ STAGE PLANS: sort order: Statistics: Num rows: 6 Data size: 72 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: double) + Execution mode: llap + LLAP IO: may be used (ACID table) Map 3 Map Operator Tree: TableScan @@ -242,7 +244,10 @@ STAGE PLANS: sort order: Statistics: Num rows: 6 Data size: 96 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: double) + Execution mode: llap + LLAP IO: may be used (ACID table) Reducer 2 + Execution mode: llap Reduce Operator Tree: Merge Join Operator condition map: @@ -349,6 +354,8 @@ STAGE PLANS: sort order: Statistics: Num rows: 5 Data size: 60 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: double) + Execution mode: llap + LLAP IO: may be used (ACID table) Map 3 Map Operator Tree: TableScan @@ -365,7 +372,10 @@ STAGE PLANS: sort order: Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: double) + Execution mode: llap + LLAP IO: may be used (ACID table) Reducer 2 + Execution mode: llap Reduce Operator Tree: Merge Join Operator condition map: @@ -472,7 +482,10 @@ STAGE PLANS: Map-reduce partition columns: __time_granularity (type: timestamp) Statistics: Num rows: 5 Data size: 3660 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: timestamp with local time zone), _col1 (type: int), _col2 (type: varchar(256)), _col3 (type: double), _col4 (type: varchar(256)) + Execution mode: llap + LLAP IO: may be used (ACID table) Reducer 2 + Execution mode: llap Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: timestamp with local time zone), VALUE._col1 (type: int), VALUE._col2 (type: varchar(256)), VALUE._col3 (type: double), VALUE._col4 (type: varchar(256)), KEY.__time_granularity (type: timestamp) @@ -557,6 +570,8 @@ STAGE PLANS: sort order: Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: double) + Execution mode: llap + LLAP IO: may be used (ACID table) Map 3 Map Operator Tree: TableScan @@ -571,7 +586,10 @@ STAGE PLANS: sort order: Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: NONE value expressions: a (type: int), c (type: double) + Execution mode: llap + LLAP IO: no inputs Reducer 2 + Execution mode: llap Reduce Operator Tree: Merge Join Operator condition map: diff --git ql/src/test/results/clientpositive/druid/druidmini_test1.q.out ql/src/test/results/clientpositive/druid/druidmini_test1.q.out deleted file mode 100644 index 34cccef8e2..0000000000 --- ql/src/test/results/clientpositive/druid/druidmini_test1.q.out +++ /dev/null @@ -1,799 +0,0 @@ -PREHOOK: query: CREATE TABLE druid_table -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -PREHOOK: type: CREATETABLE_AS_SELECT -PREHOOK: Input: default@alltypesorc -PREHOOK: Output: database:default -PREHOOK: Output: default@druid_table -POSTHOOK: query: CREATE TABLE druid_table -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -POSTHOOK: type: CREATETABLE_AS_SELECT -POSTHOOK: Input: default@alltypesorc -POSTHOOK: Output: database:default -POSTHOOK: Output: default@druid_table -POSTHOOK: Lineage: druid_table.__time EXPRESSION [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ] -POSTHOOK: Lineage: druid_table.cbigint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ] -POSTHOOK: Lineage: druid_table.cboolean1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ] -POSTHOOK: Lineage: druid_table.cboolean2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean2, type:boolean, comment:null), ] -POSTHOOK: Lineage: druid_table.cdouble SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ] -POSTHOOK: Lineage: druid_table.cfloat SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ] -POSTHOOK: Lineage: druid_table.cint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ] -POSTHOOK: Lineage: druid_table.csmallint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ] -POSTHOOK: Lineage: druid_table.cstring1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ] -POSTHOOK: Lineage: druid_table.cstring2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring2, type:string, comment:null), ] -POSTHOOK: Lineage: druid_table.ctinyint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctinyint, type:tinyint, comment:null), ] -PREHOOK: query: explain select count(*) FROM druid_table -PREHOOK: type: QUERY -POSTHOOK: query: explain select count(*) FROM druid_table -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 - properties: - druid.fieldNames $f0 - druid.fieldTypes bigint - druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":"all","aggregations":[{"type":"count","name":"$f0"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":false}} - druid.query.type timeseries - Select Operator - expressions: $f0 (type: bigint) - outputColumnNames: _col0 - ListSink - -PREHOOK: query: SELECT count(*) FROM druid_table -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT count(*) FROM druid_table -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -6105 -PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -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 - properties: - druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 - druid.fieldTypes timestamp with local time zone,double,double,bigint,bigint,bigint,bigint - druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleSum","name":"$f1","fieldName":"cfloat"},{"type":"doubleSum","name":"$f2","fieldName":"cdouble"},{"type":"longSum","name":"$f3","fieldName":"ctinyint"},{"type":"longSum","name":"$f4","fieldName":"csmallint"},{"type":"longSum","name":"$f5","fieldName":"cint"},{"type":"longSum","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} - druid.query.type timeseries - Select Operator - expressions: timestamp (type: timestamp with local time zone), $f1 (type: double), $f2 (type: double), $f3 (type: bigint), $f4 (type: bigint), $f5 (type: bigint), $f6 (type: bigint) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 - ListSink - -PREHOOK: query: SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT floor_year(`__time`), SUM(cfloat), SUM(cdouble), SUM(ctinyint), SUM(csmallint),SUM(cint), SUM(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-01-01 00:00:00.0 US/Pacific -39590.24694168568 2.7308662809692383E7 -39967 7781089 1408069801800 10992545287 -PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -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 - properties: - druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 - druid.fieldTypes timestamp with local time zone,float,double,tinyint,smallint,int,bigint - druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleMin","name":"$f1","fieldName":"cfloat"},{"type":"doubleMin","name":"$f2","fieldName":"cdouble"},{"type":"longMin","name":"$f3","fieldName":"ctinyint"},{"type":"longMin","name":"$f4","fieldName":"csmallint"},{"type":"longMin","name":"$f5","fieldName":"cint"},{"type":"longMin","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} - druid.query.type timeseries - Select Operator - expressions: timestamp (type: timestamp with local time zone), $f1 (type: float), $f2 (type: double), $f3 (type: tinyint), $f4 (type: smallint), $f5 (type: int), $f6 (type: bigint) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 - ListSink - -PREHOOK: query: SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT floor_year(`__time`), MIN(cfloat), MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-01-01 00:00:00.0 US/Pacific -1790.778 -308691.84375 2 14255 -1073279343 -8577981133 -PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -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 - properties: - druid.fieldNames timestamp,$f1,$f2,$f3,$f4,$f5,$f6 - druid.fieldTypes timestamp with local time zone,float,double,tinyint,smallint,int,bigint - druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table","descending":false,"granularity":{"type":"period","period":"P1Y","timeZone":"US/Pacific"},"aggregations":[{"type":"doubleMax","name":"$f1","fieldName":"cfloat"},{"type":"doubleMax","name":"$f2","fieldName":"cdouble"},{"type":"longMax","name":"$f3","fieldName":"ctinyint"},{"type":"longMax","name":"$f4","fieldName":"csmallint"},{"type":"longMax","name":"$f5","fieldName":"cint"},{"type":"longMax","name":"$f6","fieldName":"cbigint"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":true}} - druid.query.type timeseries - Select Operator - expressions: timestamp (type: timestamp with local time zone), $f1 (type: float), $f2 (type: double), $f3 (type: tinyint), $f4 (type: smallint), $f5 (type: int), $f6 (type: bigint) - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 - ListSink - -PREHOOK: query: SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT floor_year(`__time`), MAX(cfloat), MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint) -FROM druid_table GROUP BY floor_year(`__time`) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-01-01 00:00:00.0 US/Pacific 769.164 1.9565518E7 -45 -8101 1276572707 4923772860 -PREHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 -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 - properties: - druid.fieldNames cstring1,$f1 - druid.fieldTypes string,double - druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table","granularity":"all","dimensions":[{"type":"default","dimension":"cstring1","outputName":"cstring1","outputType":"STRING"}],"limitSpec":{"type":"default","limit":10,"columns":[{"dimension":"$f1","direction":"ascending","dimensionOrder":"numeric"}]},"aggregations":[{"type":"doubleSum","name":"$f1","fieldName":"cdouble"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]} - druid.query.type groupBy - Select Operator - expressions: cstring1 (type: string), $f1 (type: double) - outputColumnNames: _col0, _col1 - ListSink - -PREHOOK: query: SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT cstring1, SUM(cdouble) as s FROM druid_table GROUP BY cstring1 ORDER BY s ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1cGVWH7n1QU -596096.6875 -821UdmGbkEf4j -14161.827026367188 -00iT08 0.0 -02v8WnLuYDos3Cq 0.0 -yv1js 0.0 -02VRbSC5I 0.0 -014ILGhXxNY7g02hl0Xw 0.0 -02vDyIVT752 0.0 -00PafC7v 0.0 -ytpx1RL8F2I 0.0 -PREHOOK: query: EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 -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 - properties: - druid.fieldNames cstring2,$f1 - druid.fieldTypes string,double - druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table","granularity":"all","dimensions":[{"type":"default","dimension":"cstring2","outputName":"cstring2","outputType":"STRING"}],"limitSpec":{"type":"default","limit":10,"columns":[{"dimension":"cstring2","direction":"ascending","dimensionOrder":"lexicographic"}]},"aggregations":[{"type":"doubleMax","name":"$f1","fieldName":"cdouble"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]} - druid.query.type groupBy - Select Operator - expressions: cstring2 (type: string), $f1 (type: double) - outputColumnNames: _col0, _col1 - ListSink - -PREHOOK: query: SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT cstring2, MAX(cdouble) FROM druid_table GROUP BY cstring2 ORDER BY cstring2 ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -NULL 1.9565518E7 -0034fkcXMQI3 15601.0 -004J8y 0.0 -00GNm -200.0 -00GW4dnb6Wgj52 -200.0 -00PBhB1Iefgk 0.0 -00d5kr1wEB7evExG 15601.0 -00qccwt8n 0.0 -017fFeQ3Gcsa83Xj2Vo0 0.0 -01EfkvNk6mjG44uxs 0.0 -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","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 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1900-01-01T00:00:00.000Z/1970-03-01T08:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} - druid.query.type scan - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` < '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-03-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} - druid.query.type scan - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-03-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} - druid.query.type scan - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` >= '1968-01-01 00:00:00' AND `__time` <= '1970-03-01 00:00:00' - AND `__time` < '2011-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-01-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} - druid.query.type scan - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table -WHERE `__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00' ORDER BY `__time` ASC LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -PREHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -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 -PREHOOK: type: QUERY -POSTHOOK: query: EXPLAIN -SELECT `__time` -FROM druid_table -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 -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Reducer 2 <- Map 1 (SIMPLE_EDGE) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: druid_table - properties: - druid.fieldNames vc - druid.fieldTypes timestamp with local time zone - druid.query.json {"queryType":"scan","dataSource":"default.druid_table","intervals":["1968-01-01T08:00:00.000Z/1970-04-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"} - druid.query.type scan - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: vc (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: timestamp with local time zone) - sort order: + - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - TopN Hash Memory Usage: 0.1 - Reducer 2 - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: timestamp with local time zone) - outputColumnNames: _col0 - Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `__time` -FROM druid_table -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 -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT `__time` -FROM druid_table -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 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific -1969-12-31 15:59:00.0 US/Pacific diff --git ql/src/test/results/clientpositive/druid/druidmini_test_alter.q.out ql/src/test/results/clientpositive/druid/druidmini_test_alter.q.out index 9aef045021..3b20bae6ac 100644 --- ql/src/test/results/clientpositive/druid/druidmini_test_alter.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_test_alter.q.out @@ -1,4 +1,4 @@ -PREHOOK: query: CREATE TABLE druid_alltypesorc +PREHOOK: query: CREATE TABLE IF NOT EXISTS druid_alltypesorc STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS @@ -16,7 +16,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: default@alltypesorc PREHOOK: Output: database:default PREHOOK: Output: default@druid_alltypesorc -POSTHOOK: query: CREATE TABLE druid_alltypesorc +POSTHOOK: query: CREATE TABLE IF NOT EXISTS druid_alltypesorc STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") AS diff --git ql/src/test/results/clientpositive/druid/druidmini_test_insert.q.out ql/src/test/results/clientpositive/druid/druidmini_test_insert.q.out index c471795307..e9b0a675e0 100644 --- ql/src/test/results/clientpositive/druid/druidmini_test_insert.q.out +++ ql/src/test/results/clientpositive/druid/druidmini_test_insert.q.out @@ -1,258 +1,7 @@ -PREHOOK: query: CREATE TABLE druid_alltypesorc -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp2` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp2 IS NOT NULL -PREHOOK: type: CREATETABLE_AS_SELECT -PREHOOK: Input: default@alltypesorc -PREHOOK: Output: database:default -PREHOOK: Output: default@druid_alltypesorc -POSTHOOK: query: CREATE TABLE druid_alltypesorc -STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' -TBLPROPERTIES ("druid.segment.granularity" = "HOUR", "druid.query.granularity" = "MINUTE") -AS -SELECT cast (`ctimestamp2` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp2 IS NOT NULL -POSTHOOK: type: CREATETABLE_AS_SELECT -POSTHOOK: Input: default@alltypesorc -POSTHOOK: Output: database:default -POSTHOOK: Output: default@druid_alltypesorc -POSTHOOK: Lineage: druid_alltypesorc.__time EXPRESSION [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp2, type:timestamp, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cbigint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cboolean1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cboolean2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean2, type:boolean, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cdouble SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cfloat SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.csmallint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cstring1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.cstring2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring2, type:string, comment:null), ] -POSTHOOK: Lineage: druid_alltypesorc.ctinyint SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctinyint, type:tinyint, comment:null), ] -PREHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_alltypesorc -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_alltypesorc -POSTHOOK: Output: hdfs://### HDFS PATH ### -6057 -PREHOOK: query: INSERT INTO TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -PREHOOK: type: QUERY -PREHOOK: Input: default@alltypesorc -PREHOOK: Output: default@druid_alltypesorc -POSTHOOK: query: INSERT INTO TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -POSTHOOK: type: QUERY -POSTHOOK: Input: default@alltypesorc -POSTHOOK: Output: default@druid_alltypesorc -PREHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_alltypesorc -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_alltypesorc -POSTHOOK: Output: hdfs://### HDFS PATH ### -12162 -PREHOOK: query: INSERT OVERWRITE TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -PREHOOK: type: QUERY -PREHOOK: Input: default@alltypesorc -PREHOOK: Output: default@druid_alltypesorc -POSTHOOK: query: INSERT OVERWRITE TABLE druid_alltypesorc -SELECT cast (`ctimestamp1` as timestamp with local time zone) as `__time`, - cstring1, - cstring2, - cdouble, - cfloat, - ctinyint, - csmallint, - cint, - cbigint, - cboolean1, - cboolean2 - FROM alltypesorc where ctimestamp1 IS NOT NULL -POSTHOOK: type: QUERY -POSTHOOK: Input: default@alltypesorc -POSTHOOK: Output: default@druid_alltypesorc -PREHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -PREHOOK: type: QUERY -PREHOOK: Input: default@druid_alltypesorc -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: SELECT COUNT(*) FROM druid_alltypesorc -POSTHOOK: type: QUERY -POSTHOOK: Input: default@druid_alltypesorc -POSTHOOK: Output: hdfs://### HDFS PATH ### -6105 -PREHOOK: query: DROP TABLE druid_alltypesorc -PREHOOK: type: DROPTABLE -PREHOOK: Input: default@druid_alltypesorc -PREHOOK: Output: default@druid_alltypesorc -POSTHOOK: query: DROP TABLE druid_alltypesorc -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: default@druid_alltypesorc -POSTHOOK: Output: default@druid_alltypesorc -PREHOOK: query: -- Test create then insert - - create database druid_test_create_then_insert -PREHOOK: type: CREATEDATABASE -PREHOOK: Output: database:druid_test_create_then_insert -POSTHOOK: query: -- Test create then insert - - create database druid_test_create_then_insert -POSTHOOK: type: CREATEDATABASE -POSTHOOK: Output: database:druid_test_create_then_insert -PREHOOK: query: use druid_test_create_then_insert -PREHOOK: type: SWITCHDATABASE -PREHOOK: Input: database:druid_test_create_then_insert -POSTHOOK: query: use druid_test_create_then_insert -POSTHOOK: type: SWITCHDATABASE -POSTHOOK: Input: database:druid_test_create_then_insert -PREHOOK: query: create table test_table(`timecolumn` timestamp, `userid` string, `num_l` float) -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:druid_test_create_then_insert -PREHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: query: create table test_table(`timecolumn` timestamp, `userid` string, `num_l` float) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:druid_test_create_then_insert -POSTHOOK: Output: druid_test_create_then_insert@test_table -PREHOOK: query: insert into test_table values ('2015-01-08 00:00:00', 'i1-start', 4) -PREHOOK: type: QUERY -PREHOOK: Input: _dummy_database@_dummy_table -PREHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: query: insert into test_table values ('2015-01-08 00:00:00', 'i1-start', 4) -POSTHOOK: type: QUERY -POSTHOOK: Input: _dummy_database@_dummy_table -POSTHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: Lineage: test_table.num_l SCRIPT [] -POSTHOOK: Lineage: test_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_table.userid SCRIPT [] -PREHOOK: query: insert into test_table values ('2015-01-08 23:59:59', 'i1-end', 1) -PREHOOK: type: QUERY -PREHOOK: Input: _dummy_database@_dummy_table -PREHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: query: insert into test_table values ('2015-01-08 23:59:59', 'i1-end', 1) -POSTHOOK: type: QUERY -POSTHOOK: Input: _dummy_database@_dummy_table -POSTHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: Lineage: test_table.num_l SCRIPT [] -POSTHOOK: Lineage: test_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_table.userid SCRIPT [] -PREHOOK: query: CREATE TABLE druid_table (`__time` timestamp with local time zone, `userid` string, `num_l` float) - STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' - TBLPROPERTIES ("druid.segment.granularity" = "DAY") -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:druid_test_create_then_insert -PREHOOK: Output: druid_test_create_then_insert@druid_table -POSTHOOK: query: CREATE TABLE druid_table (`__time` timestamp with local time zone, `userid` string, `num_l` float) - STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' - TBLPROPERTIES ("druid.segment.granularity" = "DAY") -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:druid_test_create_then_insert -POSTHOOK: Output: druid_test_create_then_insert@druid_table -PREHOOK: query: INSERT INTO TABLE druid_table - select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_table -PREHOOK: type: QUERY -PREHOOK: Input: druid_test_create_then_insert@test_table -PREHOOK: Output: druid_test_create_then_insert@druid_table -POSTHOOK: query: INSERT INTO TABLE druid_table - select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_table -POSTHOOK: type: QUERY -POSTHOOK: Input: druid_test_create_then_insert@test_table -POSTHOOK: Output: druid_test_create_then_insert@druid_table -PREHOOK: query: select count(*) FROM druid_table -PREHOOK: type: QUERY -PREHOOK: Input: druid_test_create_then_insert@druid_table -PREHOOK: Output: hdfs://### HDFS PATH ### -POSTHOOK: query: select count(*) FROM druid_table -POSTHOOK: type: QUERY -POSTHOOK: Input: druid_test_create_then_insert@druid_table -POSTHOOK: Output: hdfs://### HDFS PATH ### -2 -PREHOOK: query: DROP TABLE test_table -PREHOOK: type: DROPTABLE -PREHOOK: Input: druid_test_create_then_insert@test_table -PREHOOK: Output: druid_test_create_then_insert@test_table -POSTHOOK: query: DROP TABLE test_table -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: druid_test_create_then_insert@test_table -POSTHOOK: Output: druid_test_create_then_insert@test_table -PREHOOK: query: DROP TABLE druid_table -PREHOOK: type: DROPTABLE -PREHOOK: Input: druid_test_create_then_insert@druid_table -PREHOOK: Output: druid_test_create_then_insert@druid_table -POSTHOOK: query: DROP TABLE druid_table -POSTHOOK: type: DROPTABLE -POSTHOOK: Input: druid_test_create_then_insert@druid_table -POSTHOOK: Output: druid_test_create_then_insert@druid_table -PREHOOK: query: DROP DATABASE druid_test_create_then_insert -PREHOOK: type: DROPDATABASE -PREHOOK: Input: database:druid_test_create_then_insert -PREHOOK: Output: database:druid_test_create_then_insert -POSTHOOK: query: DROP DATABASE druid_test_create_then_insert -POSTHOOK: type: DROPDATABASE -POSTHOOK: Input: database:druid_test_create_then_insert -POSTHOOK: Output: database:druid_test_create_then_insert -PREHOOK: query: create database druid_test_dst +PREHOOK: query: CREATE database druid_test_dst PREHOOK: type: CREATEDATABASE PREHOOK: Output: database:druid_test_dst -POSTHOOK: query: create database druid_test_dst +POSTHOOK: query: CREATE database druid_test_dst POSTHOOK: type: CREATEDATABASE POSTHOOK: Output: database:druid_test_dst PREHOOK: query: use druid_test_dst @@ -261,11 +10,11 @@ PREHOOK: Input: database:druid_test_dst POSTHOOK: query: use druid_test_dst POSTHOOK: type: SWITCHDATABASE POSTHOOK: Input: database:druid_test_dst -PREHOOK: query: create table test_base_table(`timecolumn` timestamp, `userid` string, `num_l` float) +PREHOOK: query: create table test_base_table(`timecolumn` timestamp, `interval_marker` string, `num_l` double) PREHOOK: type: CREATETABLE PREHOOK: Output: database:druid_test_dst PREHOOK: Output: druid_test_dst@test_base_table -POSTHOOK: query: create table test_base_table(`timecolumn` timestamp, `userid` string, `num_l` float) +POSTHOOK: query: create table test_base_table(`timecolumn` timestamp, `interval_marker` string, `num_l` double) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:druid_test_dst POSTHOOK: Output: druid_test_dst@test_base_table @@ -277,9 +26,9 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-08 00:00:00', 'i1- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: insert into test_base_table values ('2015-03-08 23:59:59', 'i1-end', 1) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -288,9 +37,9 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-08 23:59:59', 'i1- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: insert into test_base_table values ('2015-03-09 00:00:00', 'i2-start', 4) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -299,9 +48,9 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-09 00:00:00', 'i2- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: insert into test_base_table values ('2015-03-09 23:59:59', 'i2-end', 1) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -310,9 +59,9 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-09 23:59:59', 'i2- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: insert into test_base_table values ('2015-03-10 00:00:00', 'i3-start', 2) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -321,9 +70,9 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-10 00:00:00', 'i3- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: insert into test_base_table values ('2015-03-10 23:59:59', 'i3-end', 2) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -332,14 +81,15 @@ POSTHOOK: query: insert into test_base_table values ('2015-03-10 23:59:59', 'i3- POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: druid_test_dst@test_base_table +POSTHOOK: Lineage: test_base_table.interval_marker SCRIPT [] POSTHOOK: Lineage: test_base_table.num_l SCRIPT [] POSTHOOK: Lineage: test_base_table.timecolumn SCRIPT [] -POSTHOOK: Lineage: test_base_table.userid SCRIPT [] PREHOOK: query: CREATE TABLE druid_test_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "DAY") AS -select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_base_table +select cast(`timecolumn` as timestamp with local time zone) as `__time`, `interval_marker`, `num_l` +FROM druid_test_dst.test_base_table PREHOOK: type: CREATETABLE_AS_SELECT PREHOOK: Input: druid_test_dst@test_base_table PREHOOK: Output: database:druid_test_dst @@ -348,14 +98,15 @@ POSTHOOK: query: CREATE TABLE druid_test_table STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler' TBLPROPERTIES ("druid.segment.granularity" = "DAY") AS -select cast(`timecolumn` as timestamp with local time zone) as `__time`, `userid`, `num_l` FROM test_base_table +select cast(`timecolumn` as timestamp with local time zone) as `__time`, `interval_marker`, `num_l` +FROM druid_test_dst.test_base_table POSTHOOK: type: CREATETABLE_AS_SELECT POSTHOOK: Input: druid_test_dst@test_base_table POSTHOOK: Output: database:druid_test_dst POSTHOOK: Output: druid_test_dst@druid_test_table POSTHOOK: Lineage: druid_test_table.__time EXPRESSION [(test_base_table)test_base_table.FieldSchema(name:timecolumn, type:timestamp, comment:null), ] -POSTHOOK: Lineage: druid_test_table.num_l SIMPLE [(test_base_table)test_base_table.FieldSchema(name:num_l, type:float, comment:null), ] -POSTHOOK: Lineage: druid_test_table.userid SIMPLE [(test_base_table)test_base_table.FieldSchema(name:userid, type:string, comment:null), ] +POSTHOOK: Lineage: druid_test_table.interval_marker SIMPLE [(test_base_table)test_base_table.FieldSchema(name:interval_marker, type:string, comment:null), ] +POSTHOOK: Lineage: druid_test_table.num_l SIMPLE [(test_base_table)test_base_table.FieldSchema(name:num_l, type:double, comment:null), ] PREHOOK: query: select * FROM druid_test_table PREHOOK: type: QUERY PREHOOK: Input: druid_test_dst@druid_test_table @@ -366,9 +117,7 @@ POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: hdfs://### HDFS PATH ### 2015-03-08 00:00:00.0 US/Pacific i1-start 4.0 2015-03-08 23:59:59.0 US/Pacific i1-end 1.0 -2015-03-09 00:00:00.0 US/Pacific i2-start 4.0 2015-03-09 23:59:59.0 US/Pacific i2-end 1.0 -2015-03-10 00:00:00.0 US/Pacific i3-start 2.0 2015-03-10 23:59:59.0 US/Pacific i3-end 2.0 PREHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-08 00:00:00' as timestamp with local time zone) PREHOOK: type: QUERY @@ -396,7 +145,6 @@ POSTHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-0 POSTHOOK: type: QUERY POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: hdfs://### HDFS PATH ### -2015-03-09 00:00:00.0 US/Pacific i2-start 4.0 PREHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-09 23:59:59' as timestamp with local time zone) PREHOOK: type: QUERY PREHOOK: Input: druid_test_dst@druid_test_table @@ -414,7 +162,6 @@ POSTHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-1 POSTHOOK: type: QUERY POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: hdfs://### HDFS PATH ### -2015-03-10 00:00:00.0 US/Pacific i3-start 2.0 PREHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-10 23:59:59' as timestamp with local time zone) PREHOOK: type: QUERY PREHOOK: Input: druid_test_dst@druid_test_table @@ -439,12 +186,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-08T08:00:00.000Z/2015-03-08T08:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-08T08:00:00.000Z/2015-03-08T08:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-08 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-08 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -463,12 +210,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T06:59:59.000Z/2015-03-09T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T06:59:59.000Z/2015-03-09T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-08 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-08 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -487,12 +234,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T07:00:00.000Z/2015-03-09T07:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T07:00:00.000Z/2015-03-09T07:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-09 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-09 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -511,12 +258,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T06:59:59.000Z/2015-03-10T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T06:59:59.000Z/2015-03-10T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-09 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-09 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -535,12 +282,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T07:00:00.000Z/2015-03-10T07:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T07:00:00.000Z/2015-03-10T07:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-10 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-10 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -559,12 +306,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-11T06:59:59.000Z/2015-03-11T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-11T06:59:59.000Z/2015-03-11T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-10 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-10 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -594,7 +341,6 @@ POSTHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-0 POSTHOOK: type: QUERY POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: hdfs://### HDFS PATH ### -2015-03-09 00:00:00.0 US/Pacific i2-start 4.0 PREHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-09 23:59:59' as timestamp ) PREHOOK: type: QUERY PREHOOK: Input: druid_test_dst@druid_test_table @@ -612,7 +358,6 @@ POSTHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-1 POSTHOOK: type: QUERY POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: hdfs://### HDFS PATH ### -2015-03-10 00:00:00.0 US/Pacific i3-start 2.0 PREHOOK: query: select * from druid_test_table where `__time` = cast('2015-03-10 23:59:59' as timestamp ) PREHOOK: type: QUERY PREHOOK: Input: druid_test_dst@druid_test_table @@ -637,12 +382,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-08T08:00:00.000Z/2015-03-08T08:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-08T08:00:00.000Z/2015-03-08T08:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-08 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-08 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -661,12 +406,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T06:59:59.000Z/2015-03-09T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T06:59:59.000Z/2015-03-09T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-08 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-08 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -685,12 +430,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T07:00:00.000Z/2015-03-09T07:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-09T07:00:00.000Z/2015-03-09T07:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-09 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-09 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -709,12 +454,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T06:59:59.000Z/2015-03-10T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T06:59:59.000Z/2015-03-10T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-09 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-09 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -733,12 +478,12 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T07:00:00.000Z/2015-03-10T07:00:00.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-10T07:00:00.000Z/2015-03-10T07:00:00.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-10 00:00:00.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-10 00:00:00.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink @@ -757,15 +502,41 @@ STAGE PLANS: TableScan alias: druid_test_table properties: - druid.fieldNames userid,num_l - druid.fieldTypes string,float - druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-11T06:59:59.000Z/2015-03-11T06:59:59.001Z"],"columns":["userid","num_l"],"resultFormat":"compactedList"} + druid.fieldNames interval_marker,num_l + druid.fieldTypes string,double + druid.query.json {"queryType":"scan","dataSource":"druid_test_dst.druid_test_table","intervals":["2015-03-11T06:59:59.000Z/2015-03-11T06:59:59.001Z"],"columns":["interval_marker","num_l"],"resultFormat":"compactedList"} druid.query.type scan Select Operator - expressions: TIMESTAMPLOCALTZ'2015-03-10 23:59:59.0 US/Pacific' (type: timestamp with local time zone), userid (type: string), num_l (type: float) + expressions: TIMESTAMPLOCALTZ'2015-03-10 23:59:59.0 US/Pacific' (type: timestamp with local time zone), interval_marker (type: string), num_l (type: double) outputColumnNames: _col0, _col1, _col2 ListSink +PREHOOK: query: INSERT OVERWRITE TABLE druid_test_table +select cast(`timecolumn` as timestamp with local time zone) as `__time`, + `interval_marker`, + `num_l` + FROM test_base_table where interval_marker = 'i2-start' or interval_marker = 'i2-end' +PREHOOK: type: QUERY +PREHOOK: Input: druid_test_dst@test_base_table +PREHOOK: Output: druid_test_dst@druid_test_table +POSTHOOK: query: INSERT OVERWRITE TABLE druid_test_table +select cast(`timecolumn` as timestamp with local time zone) as `__time`, + `interval_marker`, + `num_l` + FROM test_base_table where interval_marker = 'i2-start' or interval_marker = 'i2-end' +POSTHOOK: type: QUERY +POSTHOOK: Input: druid_test_dst@test_base_table +POSTHOOK: Output: druid_test_dst@druid_test_table +PREHOOK: query: SELECT * FROM druid_test_table +PREHOOK: type: QUERY +PREHOOK: Input: druid_test_dst@druid_test_table +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT * FROM druid_test_table +POSTHOOK: type: QUERY +POSTHOOK: Input: druid_test_dst@druid_test_table +POSTHOOK: Output: hdfs://### HDFS PATH ### +2015-03-09 00:00:00.0 US/Pacific i2-start 4.0 +2015-03-09 23:59:59.0 US/Pacific i2-end 1.0 PREHOOK: query: DROP TABLE test_base_table PREHOOK: type: DROPTABLE PREHOOK: Input: druid_test_dst@test_base_table @@ -782,11 +553,11 @@ POSTHOOK: query: DROP TABLE druid_test_table POSTHOOK: type: DROPTABLE POSTHOOK: Input: druid_test_dst@druid_test_table POSTHOOK: Output: druid_test_dst@druid_test_table -PREHOOK: query: drop database druid_test_dst +PREHOOK: query: DROP database druid_test_dst PREHOOK: type: DROPDATABASE PREHOOK: Input: database:druid_test_dst PREHOOK: Output: database:druid_test_dst -POSTHOOK: query: drop database druid_test_dst +POSTHOOK: query: DROP database druid_test_dst POSTHOOK: type: DROPDATABASE POSTHOOK: Input: database:druid_test_dst POSTHOOK: Output: database:druid_test_dst