diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java index f88f4dd..1714f00 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java @@ -528,7 +528,7 @@ static public void deleteWHDirectory(Path path, Configuration conf, * if it doesn't match the pattern. */ static public boolean validateName(String name) { - Pattern tpat = Pattern.compile("[\\w_]+"); + Pattern tpat = Pattern.compile("[\\w_/]+"); Matcher m = tpat.matcher(name); if (m.matches()) { return true; diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java b/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java index bc0f6e3..48fefe0 100755 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/Warehouse.java @@ -162,7 +162,7 @@ public Path getWhRoot() throws MetaException { public Path getTablePath(String whRootString, String tableName) throws MetaException { Path whRoot = getDnsPath(new Path(whRootString)); - return new Path(whRoot, tableName.toLowerCase()); + return new Path(whRoot, checkTableName(tableName.toLowerCase())); } public Path getDatabasePath(Database db) throws MetaException { @@ -179,9 +179,18 @@ public Path getDefaultDatabasePath(String dbName) throws MetaException { return new Path(getWhRoot(), dbName.toLowerCase() + DATABASE_WAREHOUSE_SUFFIX); } + public static String checkTableName(String name) { + // right now we only support the special character '/' and we just change it + // to '=' + // in the future, if we would like to support more special characters, we + // can do more complicated encoding/decoding, + // e.g., replace all the other characters with the number in ASCII + return name.replace('/', '-'); + } + public Path getTablePath(Database db, String tableName) throws MetaException { - return getDnsPath(new Path(getDatabasePath(db), tableName.toLowerCase())); + return getDnsPath(new Path(getDatabasePath(db), checkTableName(tableName.toLowerCase()))); } public static String getQualifiedName(Table table) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index 4030075..6a8907a 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -42,6 +42,7 @@ import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hadoop.hive.metastore.MetaStoreUtils; +import org.apache.hadoop.hive.metastore.Warehouse; import org.apache.hadoop.hive.metastore.api.Database; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.Schema; @@ -916,7 +917,7 @@ public QueryPlan getPlan() { try { locks.add(new HiveLockObj( new HiveLockObject(new DummyPartition(p.getTable(), p.getTable().getDbName() - + "/" + p.getTable().getTableName() + + "/" + Warehouse.checkTableName(p.getTable().getTableName()) + "/" + partialName, partialSpec), lockData), mode)); partialName += "/"; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java index 734742c..af7ea14 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java @@ -4325,7 +4325,7 @@ private void makeLocationQualified(String databaseName, StorageDescriptor sd, St { // Default database name path is always ignored, use METASTOREWAREHOUSE and object name // instead - path = new Path(HiveConf.getVar(conf, HiveConf.ConfVars.METASTOREWAREHOUSE), name.toLowerCase()); + path = new Path(HiveConf.getVar(conf, HiveConf.ConfVars.METASTOREWAREHOUSE), Warehouse.checkTableName(name.toLowerCase())); } } else diff --git a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java index be5a593..3fc04c8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java @@ -22,6 +22,7 @@ import org.apache.hadoop.hive.common.ValidTxnList; import org.apache.hadoop.hive.common.ValidReadTxnList; import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.metastore.Warehouse; import org.apache.hadoop.hive.metastore.api.Database; import org.apache.hadoop.hive.ql.Context; import org.apache.hadoop.hive.ql.ErrorMsg; @@ -322,7 +323,7 @@ private HiveLockMode getWriteEntityLockMode (WriteEntity we) { try { locks.add(new HiveLockObj( new HiveLockObject(new DummyPartition(p.getTable(), p.getTable().getDbName() - + "/" + p.getTable().getTableName() + + "/" + Warehouse.checkTableName(p.getTable().getTableName()) + "/" + partialName, partialSpec), lockData), mode)); partialName += "/"; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java index fadd074..d39a76d 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java @@ -22,6 +22,7 @@ import java.util.Map; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.hadoop.hive.metastore.Warehouse; import org.apache.hadoop.hive.ql.metadata.DummyPartition; import org.apache.hadoop.hive.ql.metadata.Hive; import org.apache.hadoop.hive.ql.metadata.HiveException; @@ -187,12 +188,12 @@ public HiveLockObject(String[] paths, HiveLockObjectData lockData) { } public HiveLockObject(Table tbl, HiveLockObjectData lockData) { - this(new String[] {tbl.getDbName(), tbl.getTableName()}, lockData); + this(new String[] {tbl.getDbName(), Warehouse.checkTableName(tbl.getTableName())}, lockData); } public HiveLockObject(Partition par, HiveLockObjectData lockData) { this(new String[] {par.getTable().getDbName(), - par.getTable().getTableName(), par.getName()}, lockData); + Warehouse.checkTableName(par.getTable().getTableName()), par.getName()}, lockData); } public HiveLockObject(DummyPartition par, HiveLockObjectData lockData) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java index 8b7a2e8..3a179ad 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ColumnStatsSemanticAnalyzer.java @@ -323,7 +323,7 @@ private String genRewrittenQuery(List colNames, int numBitVectors, Map 80 AND key < 100 ORDER BY key, value LIMIT 10; diff --git a/ql/src/test/queries/clientpositive/alter_view_rename.q b/ql/src/test/queries/clientpositive/alter_view_rename.q index f91fbb8..c86cf96 100644 --- a/ql/src/test/queries/clientpositive/alter_view_rename.q +++ b/ql/src/test/queries/clientpositive/alter_view_rename.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE tv1; CREATE DATABASE tv2; diff --git a/ql/src/test/queries/clientpositive/ambiguitycheck.q b/ql/src/test/queries/clientpositive/ambiguitycheck.q index 2334bc6..53c77b8 100644 --- a/ql/src/test/queries/clientpositive/ambiguitycheck.q +++ b/ql/src/test/queries/clientpositive/ambiguitycheck.q @@ -1,42 +1,76 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- check cluster/distribute/partitionBy -SELECT * FROM SRC x where x.key = 20 CLUSTER BY (key,value) ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY (key,value) ; -SELECT * FROM SRC x where x.key = 20 CLUSTER BY ((key),value) ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY ((key),value) ; -SELECT * FROM SRC x where x.key = 20 CLUSTER BY (key,(value)) ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY (key,(value)) ; -SELECT * FROM SRC x where x.key = 20 CLUSTER BY ((key),(value)) ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY ((key),(value)) ; -SELECT * FROM SRC x where x.key = 20 CLUSTER BY ((key),(((value)))); +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY ((key),(((value)))); -- HIVE-6950 SELECT tab1.key, tab1.value, SUM(1) -FROM src as tab1 +FROM `s/c` as tab1 GROUP BY tab1.key, tab1.value GROUPING SETS ((tab1.key, tab1.value)); SELECT key, - src.value, + `s/c`.value, SUM(1) -FROM src +FROM `s/c` GROUP BY key, - src.value -GROUPING SETS ((key, src.value)); - -explain extended select int(1.2) from src limit 1; -select int(1.2) from src limit 1; -select bigint(1.34) from src limit 1; -select binary('1') from src limit 1; -select boolean(1) from src limit 1; -select date('1') from src limit 2; -select double(1) from src limit 1; -select float(1) from src limit 1; -select smallint(0.9) from src limit 1; -select timestamp('1') from src limit 2; - -explain extended desc default.src key; - -desc default.src key; + `s/c`.value +GROUPING SETS ((key, `s/c`.value)); + +explain extended select int(1.2) from `s/c` limit 1; +select int(1.2) from `s/c` limit 1; +select bigint(1.34) from `s/c` limit 1; +select binary('1') from `s/c` limit 1; +select boolean(1) from `s/c` limit 1; +select date('1') from `s/c` limit 2; +select double(1) from `s/c` limit 1; +select float(1) from `s/c` limit 1; +select smallint(0.9) from `s/c` limit 1; +select timestamp('1') from `s/c` limit 2; + +explain extended desc default.`s/c` key; + +desc default.`s/c` key; diff --git a/ql/src/test/queries/clientpositive/ambiguous_col.q b/ql/src/test/queries/clientpositive/ambiguous_col.q index d1cebeb..3b1b046 100644 --- a/ql/src/test/queries/clientpositive/ambiguous_col.q +++ b/ql/src/test/queries/clientpositive/ambiguous_col.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=none; -- TOK_ALLCOLREF -explain select * from (select a.key, a.* from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; -select * from (select a.key, a.* from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; +explain select * from (select a.key, a.* from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; +select * from (select a.key, a.* from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; -- DOT -explain select * from (select a.key, a.`[k].*` from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; -select * from (select a.key, a.`[k].*` from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; +explain select * from (select a.key, a.`[k].*` from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; +select * from (select a.key, a.`[k].*` from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; -- EXPRESSION -explain select * from (select a.key, a.key from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; -select * from (select a.key, a.key from (select * from src) a join (select * from src1) b on (a.key = b.key)) t; +explain select * from (select a.key, a.key from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; +select * from (select a.key, a.key from (select * from `s/c`) a join (select * from src1) b on (a.key = b.key)) t; diff --git a/ql/src/test/queries/clientpositive/analyze_table_null_partition.q b/ql/src/test/queries/clientpositive/analyze_table_null_partition.q index 2f7a893..59fd6bc 100644 --- a/ql/src/test/queries/clientpositive/analyze_table_null_partition.q +++ b/ql/src/test/queries/clientpositive/analyze_table_null_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.dynamic.partition.mode=nonstrict; DROP TABLE IF EXISTS test1; diff --git a/ql/src/test/queries/clientpositive/analyze_tbl_part.q b/ql/src/test/queries/clientpositive/analyze_tbl_part.q index 9040bd4..24446fe 100644 --- a/ql/src/test/queries/clientpositive/analyze_tbl_part.q +++ b/ql/src/test/queries/clientpositive/analyze_tbl_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=jdbc:derby; create table src_stat_part(key string, value string) partitioned by (partitionId int); diff --git a/ql/src/test/queries/clientpositive/annotate_stats_deep_filters.q b/ql/src/test/queries/clientpositive/annotate_stats_deep_filters.q index e01a654..b07115e 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_deep_filters.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_deep_filters.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table over1k( t tinyint, si smallint, diff --git a/ql/src/test/queries/clientpositive/annotate_stats_filter.q b/ql/src/test/queries/clientpositive/annotate_stats_filter.q index 204ed87..3ae60c3 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_filter.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_filter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; create table if not exists loc_staging ( diff --git a/ql/src/test/queries/clientpositive/annotate_stats_groupby.q b/ql/src/test/queries/clientpositive/annotate_stats_groupby.q index 854e401..88e384d 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_groupby.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_groupby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.map.aggr.hash.percentmemory=0.0f; diff --git a/ql/src/test/queries/clientpositive/annotate_stats_groupby2.q b/ql/src/test/queries/clientpositive/annotate_stats_groupby2.q index eeac876..a2edafa 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_groupby2.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_groupby2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table location; -- There are different cases for Group By depending on map/reduce side, hash aggregation, diff --git a/ql/src/test/queries/clientpositive/annotate_stats_join.q b/ql/src/test/queries/clientpositive/annotate_stats_join.q index bd5f642..d7dbe15 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_join.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.stats.ndv.error=0.0; diff --git a/ql/src/test/queries/clientpositive/annotate_stats_join_pkfk.q b/ql/src/test/queries/clientpositive/annotate_stats_join_pkfk.q index aa62c60..7bcd0e9 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_join_pkfk.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_join_pkfk.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; drop table store_sales; diff --git a/ql/src/test/queries/clientpositive/annotate_stats_limit.q b/ql/src/test/queries/clientpositive/annotate_stats_limit.q index b82fe30..4d20f23 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_limit.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; create table if not exists loc_staging ( diff --git a/ql/src/test/queries/clientpositive/annotate_stats_part.q b/ql/src/test/queries/clientpositive/annotate_stats_part.q index f0a68a0..473c3ad 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_part.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; diff --git a/ql/src/test/queries/clientpositive/annotate_stats_select.q b/ql/src/test/queries/clientpositive/annotate_stats_select.q index e958a00..3e4b746 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_select.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_select.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; create table if not exists alltypes ( diff --git a/ql/src/test/queries/clientpositive/annotate_stats_table.q b/ql/src/test/queries/clientpositive/annotate_stats_table.q index ea1999f..444c083 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_table.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.stats.autogather=false; diff --git a/ql/src/test/queries/clientpositive/annotate_stats_union.q b/ql/src/test/queries/clientpositive/annotate_stats_union.q index b0017f5..084710c 100644 --- a/ql/src/test/queries/clientpositive/annotate_stats_union.q +++ b/ql/src/test/queries/clientpositive/annotate_stats_union.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; create table if not exists loc_staging ( diff --git a/ql/src/test/queries/clientpositive/ansi_sql_arithmetic.q b/ql/src/test/queries/clientpositive/ansi_sql_arithmetic.q index 3788301..013d711 100644 --- a/ql/src/test/queries/clientpositive/ansi_sql_arithmetic.q +++ b/ql/src/test/queries/clientpositive/ansi_sql_arithmetic.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.compat=latest; -- With ansi sql arithmetic enabled, int / int => exact numeric type -explain select cast(key as int) / cast(key as int) from src limit 1; -select cast(key as int) / cast(key as int) from src limit 1; +explain select cast(key as int) / cast(key as int) from `s/c` limit 1; +select cast(key as int) / cast(key as int) from `s/c` limit 1; set hive.compat=0.12; -- With ansi sql arithmetic disabled, int / int => double -explain select cast(key as int) / cast(key as int) from src limit 1; -select cast(key as int) / cast(key as int) from src limit 1; +explain select cast(key as int) / cast(key as int) from `s/c` limit 1; +select cast(key as int) / cast(key as int) from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/archive_excludeHadoop20.q b/ql/src/test/queries/clientpositive/archive_excludeHadoop20.q index 316276a..0b7934d 100644 --- a/ql/src/test/queries/clientpositive/archive_excludeHadoop20.q +++ b/ql/src/test/queries/clientpositive/archive_excludeHadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.archive.enabled = true; set hive.enforce.bucketing = true; set hive.exec.submitviachild=true; @@ -6,22 +40,22 @@ set hive.exec.submit.local.task.via.child=true; drop table tstsrc; drop table tstsrcpart; -create table tstsrc like src; -insert overwrite table tstsrc select key, value from src; +create table tstsrc like `s/c`; +insert overwrite table tstsrc select key, value from `s/c`; create table tstsrcpart (key string, value string) partitioned by (ds string, hr string) clustered by (key) into 10 buckets; insert overwrite table tstsrcpart partition (ds='2008-04-08', hr='11') -select key, value from srcpart where ds='2008-04-08' and hr='11'; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11'; insert overwrite table tstsrcpart partition (ds='2008-04-08', hr='12') -select key, value from srcpart where ds='2008-04-08' and hr='12'; +select key, value from `s/cpart` where ds='2008-04-08' and hr='12'; insert overwrite table tstsrcpart partition (ds='2008-04-09', hr='11') -select key, value from srcpart where ds='2008-04-09' and hr='11'; +select key, value from `s/cpart` where ds='2008-04-09' and hr='11'; insert overwrite table tstsrcpart partition (ds='2008-04-09', hr='12') -select key, value from srcpart where ds='2008-04-09' and hr='12'; +select key, value from `s/cpart` where ds='2008-04-09' and hr='12'; SELECT SUM(hash(col)) FROM (SELECT transform(*) using 'tr "\t" "_"' AS col FROM (SELECT * FROM tstsrcpart WHERE ds='2008-04-08') subq1) subq2; diff --git a/ql/src/test/queries/clientpositive/archive_multi.q b/ql/src/test/queries/clientpositive/archive_multi.q index 1004aca..c928853 100644 --- a/ql/src/test/queries/clientpositive/archive_multi.q +++ b/ql/src/test/queries/clientpositive/archive_multi.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.archive.enabled = true; set hive.enforce.bucketing = true; create database ac_test; -create table ac_test.tstsrc like default.src; -insert overwrite table ac_test.tstsrc select key, value from default.src; +create table ac_test.tstsrc like default.`s/c`; +insert overwrite table ac_test.tstsrc select key, value from default.`s/c`; -create table ac_test.tstsrcpart like default.srcpart; +create table ac_test.tstsrcpart like default.`s/cpart`; insert overwrite table ac_test.tstsrcpart partition (ds='2008-04-08', hr='11') -select key, value from default.srcpart where ds='2008-04-08' and hr='11'; +select key, value from default.`s/cpart` where ds='2008-04-08' and hr='11'; insert overwrite table ac_test.tstsrcpart partition (ds='2008-04-08', hr='12') -select key, value from default.srcpart where ds='2008-04-08' and hr='12'; +select key, value from default.`s/cpart` where ds='2008-04-08' and hr='12'; insert overwrite table ac_test.tstsrcpart partition (ds='2008-04-09', hr='11') -select key, value from default.srcpart where ds='2008-04-09' and hr='11'; +select key, value from default.`s/cpart` where ds='2008-04-09' and hr='11'; insert overwrite table ac_test.tstsrcpart partition (ds='2008-04-09', hr='12') -select key, value from default.srcpart where ds='2008-04-09' and hr='12'; +select key, value from default.`s/cpart` where ds='2008-04-09' and hr='12'; -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.17, 0.18, 0.19) diff --git a/ql/src/test/queries/clientpositive/array_map_access_nonconstant.q b/ql/src/test/queries/clientpositive/array_map_access_nonconstant.q index ea6e9d5..575a38a 100644 --- a/ql/src/test/queries/clientpositive/array_map_access_nonconstant.q +++ b/ql/src/test/queries/clientpositive/array_map_access_nonconstant.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; create table array_table (`array` array, index int ); -insert into table array_table select array('first', 'second', 'third'), key%3 from src tablesample (4 rows); +insert into table array_table select array('first', 'second', 'third'), key%3 from `s/c` tablesample (4 rows); explain select index, `array`[index] from array_table; select index, `array`[index] from array_table; create table map_table (data map, key int ); -insert into table map_table select map('1','one','2','two','3','three'), cast((key%3+1) as int) from src tablesample (4 rows); +insert into table map_table select map('1','one','2','two','3','three'), cast((key%3+1) as int) from `s/c` tablesample (4 rows); explain select key, data[key] from map_table; diff --git a/ql/src/test/queries/clientpositive/authorization_1.q b/ql/src/test/queries/clientpositive/authorization_1.q index d5fd2ec..152cb42 100644 --- a/ql/src/test/queries/clientpositive/authorization_1.q +++ b/ql/src/test/queries/clientpositive/authorization_1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -create table src_autho_test as select * from src; +create table src_autho_test as select * from `s/c`; set hive.security.authorization.enabled=true; diff --git a/ql/src/test/queries/clientpositive/authorization_1_sql_std.q b/ql/src/test/queries/clientpositive/authorization_1_sql_std.q index b7b6710..e87a79e 100644 --- a/ql/src/test/queries/clientpositive/authorization_1_sql_std.q +++ b/ql/src/test/queries/clientpositive/authorization_1_sql_std.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_2.q b/ql/src/test/queries/clientpositive/authorization_2.q index 3353c53..e3ef43a 100644 --- a/ql/src/test/queries/clientpositive/authorization_2.q +++ b/ql/src/test/queries/clientpositive/authorization_2.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF create table authorization_part (key int, value string) partitioned by (ds string); -create table src_auth_tmp as select * from src; +create table src_auth_tmp as select * from `s/c`; ALTER TABLE authorization_part SET TBLPROPERTIES ("PARTITION_LEVEL_PRIVILEGE"="TRUE"); set hive.security.authorization.enabled=true; diff --git a/ql/src/test/queries/clientpositive/authorization_3.q b/ql/src/test/queries/clientpositive/authorization_3.q index ba76b00..3cd7c28 100644 --- a/ql/src/test/queries/clientpositive/authorization_3.q +++ b/ql/src/test/queries/clientpositive/authorization_3.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -create table src_autho_test as select * from src; +create table src_autho_test as select * from `s/c`; grant drop on table src_autho_test to user hive_test_user; grant select on table src_autho_test to user hive_test_user; diff --git a/ql/src/test/queries/clientpositive/authorization_4.q b/ql/src/test/queries/clientpositive/authorization_4.q index 152c8e5..6d1a837 100644 --- a/ql/src/test/queries/clientpositive/authorization_4.q +++ b/ql/src/test/queries/clientpositive/authorization_4.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -create table src_autho_test as select * from src; +create table src_autho_test as select * from `s/c`; grant All on table src_autho_test to user hive_test_user; diff --git a/ql/src/test/queries/clientpositive/authorization_5.q b/ql/src/test/queries/clientpositive/authorization_5.q index fec27b4..c7e10d9 100644 --- a/ql/src/test/queries/clientpositive/authorization_5.q +++ b/ql/src/test/queries/clientpositive/authorization_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF CREATE DATABASE IF NOT EXISTS test_db COMMENT 'Hive test database'; diff --git a/ql/src/test/queries/clientpositive/authorization_6.q b/ql/src/test/queries/clientpositive/authorization_6.q index 258ada4..b4b6d54 100644 --- a/ql/src/test/queries/clientpositive/authorization_6.q +++ b/ql/src/test/queries/clientpositive/authorization_6.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -create table src_auth_tmp as select * from src; +create table src_auth_tmp as select * from `s/c`; create table authorization_part (key int, value string) partitioned by (ds string); ALTER TABLE authorization_part SET TBLPROPERTIES ("PARTITION_LEVEL_PRIVILEGE"="TRUE"); diff --git a/ql/src/test/queries/clientpositive/authorization_7.q b/ql/src/test/queries/clientpositive/authorization_7.q index ae49000..4a73208 100644 --- a/ql/src/test/queries/clientpositive/authorization_7.q +++ b/ql/src/test/queries/clientpositive/authorization_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + GRANT ALL TO USER hive_test_user; SET hive.security.authorization.enabled=true; CREATE TABLE src_authorization_7 (key int, value string); diff --git a/ql/src/test/queries/clientpositive/authorization_8.q b/ql/src/test/queries/clientpositive/authorization_8.q index 67fcf31..df57360 100644 --- a/ql/src/test/queries/clientpositive/authorization_8.q +++ b/ql/src/test/queries/clientpositive/authorization_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.security.authorization.enabled=true; GRANT ALL TO USER hive_test_user; CREATE TABLE tbl_j5jbymsx8e (key INT, value STRING) PARTITIONED BY (ds STRING); diff --git a/ql/src/test/queries/clientpositive/authorization_9.q b/ql/src/test/queries/clientpositive/authorization_9.q index ed62c45..9f30bfa 100644 --- a/ql/src/test/queries/clientpositive/authorization_9.q +++ b/ql/src/test/queries/clientpositive/authorization_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF create table dummy (key string, value string); diff --git a/ql/src/test/queries/clientpositive/authorization_admin_almighty1.q b/ql/src/test/queries/clientpositive/authorization_admin_almighty1.q index 3ae0ce1..6802e0e 100644 --- a/ql/src/test/queries/clientpositive/authorization_admin_almighty1.q +++ b/ql/src/test/queries/clientpositive/authorization_admin_almighty1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_admin_almighty2.q b/ql/src/test/queries/clientpositive/authorization_admin_almighty2.q index c666e97..46fc351 100644 --- a/ql/src/test/queries/clientpositive/authorization_admin_almighty2.q +++ b/ql/src/test/queries/clientpositive/authorization_admin_almighty2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; @@ -26,7 +60,7 @@ public class Pyth extends UDF { } `AS GROOVY NAMED Pyth.groovy; CREATE TEMPORARY FUNCTION Pyth as 'Pyth'; -SELECT Pyth(3,4) FROM src tablesample (1 rows); +SELECT Pyth(3,4) FROM `s/c` tablesample (1 rows); DROP TEMPORARY FUNCTION Pyth; diff --git a/ql/src/test/queries/clientpositive/authorization_cli_createtab.q b/ql/src/test/queries/clientpositive/authorization_cli_createtab.q index ffaf0ad..3d179d5 100644 --- a/ql/src/test/queries/clientpositive/authorization_cli_createtab.q +++ b/ql/src/test/queries/clientpositive/authorization_cli_createtab.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.users.in.admin.role=hive_admin_user; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_cli_createtab_noauthzapi.q b/ql/src/test/queries/clientpositive/authorization_cli_createtab_noauthzapi.q index c39df65..b4a4b23 100644 --- a/ql/src/test/queries/clientpositive/authorization_cli_createtab_noauthzapi.q +++ b/ql/src/test/queries/clientpositive/authorization_cli_createtab_noauthzapi.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.users.in.admin.role=hive_admin_user; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_cli_nonsql.q b/ql/src/test/queries/clientpositive/authorization_cli_nonsql.q index 58d3bf5..dd6c461 100644 --- a/ql/src/test/queries/clientpositive/authorization_cli_nonsql.q +++ b/ql/src/test/queries/clientpositive/authorization_cli_nonsql.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory; set hive.security.authorization.enabled=false; @@ -23,7 +57,7 @@ public class Pyth extends UDF { } `AS GROOVY NAMED Pyth.groovy; CREATE TEMPORARY FUNCTION Pyth as 'Pyth'; -SELECT Pyth(3,4) FROM src tablesample (1 rows); +SELECT Pyth(3,4) FROM `s/c` tablesample (1 rows); DROP TEMPORARY FUNCTION Pyth; diff --git a/ql/src/test/queries/clientpositive/authorization_cli_stdconfigauth.q b/ql/src/test/queries/clientpositive/authorization_cli_stdconfigauth.q index a3f8e64..cc60d73 100644 --- a/ql/src/test/queries/clientpositive/authorization_cli_stdconfigauth.q +++ b/ql/src/test/queries/clientpositive/authorization_cli_stdconfigauth.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.users.in.admin.role=hive_admin_user; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_create_func1.q b/ql/src/test/queries/clientpositive/authorization_create_func1.q index 6c7ebc7..0a2d356 100644 --- a/ql/src/test/queries/clientpositive/authorization_create_func1.q +++ b/ql/src/test/queries/clientpositive/authorization_create_func1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_create_macro1.q b/ql/src/test/queries/clientpositive/authorization_create_macro1.q index e0297d2..54fd0bf 100644 --- a/ql/src/test/queries/clientpositive/authorization_create_macro1.q +++ b/ql/src/test/queries/clientpositive/authorization_create_macro1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_create_table_owner_privs.q b/ql/src/test/queries/clientpositive/authorization_create_table_owner_privs.q index 9897657..eef6168 100644 --- a/ql/src/test/queries/clientpositive/authorization_create_table_owner_privs.q +++ b/ql/src/test/queries/clientpositive/authorization_create_table_owner_privs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_create_temp_table.q b/ql/src/test/queries/clientpositive/authorization_create_temp_table.q index 52b9ca7..c3eceb5 100644 --- a/ql/src/test/queries/clientpositive/authorization_create_temp_table.q +++ b/ql/src/test/queries/clientpositive/authorization_create_temp_table.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; -create table authorization_create_temp_table_1 as select * from src limit 10; +create table authorization_create_temp_table_1 as select * from `s/c` limit 10; grant select on authorization_create_temp_table_1 to user user1; set user.name=user1; diff --git a/ql/src/test/queries/clientpositive/authorization_default_create_table_owner_privs.q b/ql/src/test/queries/clientpositive/authorization_default_create_table_owner_privs.q index c265733..1371eb6 100644 --- a/ql/src/test/queries/clientpositive/authorization_default_create_table_owner_privs.q +++ b/ql/src/test/queries/clientpositive/authorization_default_create_table_owner_privs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.security.authorization.createtable.owner.grants=ALL; create table default_auth_table_creator_priv_test(i int); diff --git a/ql/src/test/queries/clientpositive/authorization_delete.q b/ql/src/test/queries/clientpositive/authorization_delete.q index d96e6ab..70c545a 100644 --- a/ql/src/test/queries/clientpositive/authorization_delete.q +++ b/ql/src/test/queries/clientpositive/authorization_delete.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_delete_own_table.q b/ql/src/test/queries/clientpositive/authorization_delete_own_table.q index 7abdc12..36a7ed0 100644 --- a/ql/src/test/queries/clientpositive/authorization_delete_own_table.q +++ b/ql/src/test/queries/clientpositive/authorization_delete_own_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_explain.q b/ql/src/test/queries/clientpositive/authorization_explain.q index a7289d6..f29705d 100644 --- a/ql/src/test/queries/clientpositive/authorization_explain.q +++ b/ql/src/test/queries/clientpositive/authorization_explain.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.security.authorization.enabled=true; -- JAVA_VERSION_SPECIFIC_OUTPUT -explain authorization select * from src join srcpart; -explain formatted authorization select * from src join srcpart; +explain authorization select * from `s/c` join `s/cpart`; +explain formatted authorization select * from `s/c` join `s/cpart`; explain authorization use default; explain formatted authorization use default; diff --git a/ql/src/test/queries/clientpositive/authorization_grant_option_role.q b/ql/src/test/queries/clientpositive/authorization_grant_option_role.q index ea0b51b..e6c9765 100644 --- a/ql/src/test/queries/clientpositive/authorization_grant_option_role.q +++ b/ql/src/test/queries/clientpositive/authorization_grant_option_role.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_grant_public_role.q b/ql/src/test/queries/clientpositive/authorization_grant_public_role.q index 8f5d762..8016195 100644 --- a/ql/src/test/queries/clientpositive/authorization_grant_public_role.q +++ b/ql/src/test/queries/clientpositive/authorization_grant_public_role.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_grant_table_priv.q b/ql/src/test/queries/clientpositive/authorization_grant_table_priv.q index f0eac73..ce28a0a 100644 --- a/ql/src/test/queries/clientpositive/authorization_grant_table_priv.q +++ b/ql/src/test/queries/clientpositive/authorization_grant_table_priv.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_index.q b/ql/src/test/queries/clientpositive/authorization_index.q index b8dd577..fc44c10 100644 --- a/ql/src/test/queries/clientpositive/authorization_index.q +++ b/ql/src/test/queries/clientpositive/authorization_index.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_insert.q b/ql/src/test/queries/clientpositive/authorization_insert.q index d589405..a9545d7 100644 --- a/ql/src/test/queries/clientpositive/authorization_insert.q +++ b/ql/src/test/queries/clientpositive/authorization_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_non_id.q b/ql/src/test/queries/clientpositive/authorization_non_id.q index 26d4b50..75b5724 100644 --- a/ql/src/test/queries/clientpositive/authorization_non_id.q +++ b/ql/src/test/queries/clientpositive/authorization_non_id.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_owner_actions.q b/ql/src/test/queries/clientpositive/authorization_owner_actions.q index d186a44..945eec9 100644 --- a/ql/src/test/queries/clientpositive/authorization_owner_actions.q +++ b/ql/src/test/queries/clientpositive/authorization_owner_actions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_owner_actions_db.q b/ql/src/test/queries/clientpositive/authorization_owner_actions_db.q index ccd4605..f8ce67d 100644 --- a/ql/src/test/queries/clientpositive/authorization_owner_actions_db.q +++ b/ql/src/test/queries/clientpositive/authorization_owner_actions_db.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_parts.q b/ql/src/test/queries/clientpositive/authorization_parts.q index 141cdea..9c4418a 100644 --- a/ql/src/test/queries/clientpositive/authorization_parts.q +++ b/ql/src/test/queries/clientpositive/authorization_parts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_reset.q b/ql/src/test/queries/clientpositive/authorization_reset.q index 047474e..13389c6 100644 --- a/ql/src/test/queries/clientpositive/authorization_reset.q +++ b/ql/src/test/queries/clientpositive/authorization_reset.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_revoke_table_priv.q b/ql/src/test/queries/clientpositive/authorization_revoke_table_priv.q index 1e3e6cf..8cd30ad 100644 --- a/ql/src/test/queries/clientpositive/authorization_revoke_table_priv.q +++ b/ql/src/test/queries/clientpositive/authorization_revoke_table_priv.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_role_grant1.q b/ql/src/test/queries/clientpositive/authorization_role_grant1.q index f0b8d9c..ed20b51 100644 --- a/ql/src/test/queries/clientpositive/authorization_role_grant1.q +++ b/ql/src/test/queries/clientpositive/authorization_role_grant1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_role_grant2.q b/ql/src/test/queries/clientpositive/authorization_role_grant2.q index 224ee28..7da42f2 100644 --- a/ql/src/test/queries/clientpositive/authorization_role_grant2.q +++ b/ql/src/test/queries/clientpositive/authorization_role_grant2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_set_show_current_role.q b/ql/src/test/queries/clientpositive/authorization_set_show_current_role.q index f10b649..9ce69ba 100644 --- a/ql/src/test/queries/clientpositive/authorization_set_show_current_role.q +++ b/ql/src/test/queries/clientpositive/authorization_set_show_current_role.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_show_grant.q b/ql/src/test/queries/clientpositive/authorization_show_grant.q index 0f17439..62cfc9c 100644 --- a/ql/src/test/queries/clientpositive/authorization_show_grant.q +++ b/ql/src/test/queries/clientpositive/authorization_show_grant.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_show_role_principals_v1.q b/ql/src/test/queries/clientpositive/authorization_show_role_principals_v1.q index 50e9dc2..80d774c 100644 --- a/ql/src/test/queries/clientpositive/authorization_show_role_principals_v1.q +++ b/ql/src/test/queries/clientpositive/authorization_show_role_principals_v1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create role role1; grant role1 to user user1 with admin option; grant role1 to user user2 with admin option; diff --git a/ql/src/test/queries/clientpositive/authorization_update.q b/ql/src/test/queries/clientpositive/authorization_update.q index da1054e..39a4f2b 100644 --- a/ql/src/test/queries/clientpositive/authorization_update.q +++ b/ql/src/test/queries/clientpositive/authorization_update.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_update_own_table.q b/ql/src/test/queries/clientpositive/authorization_update_own_table.q index ace1ce2..e9aaea0 100644 --- a/ql/src/test/queries/clientpositive/authorization_update_own_table.q +++ b/ql/src/test/queries/clientpositive/authorization_update_own_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q b/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q index 8467c16..c0b4f43 100644 --- a/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q +++ b/ql/src/test/queries/clientpositive/authorization_view_sqlstd.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.authz.sstd.hs2.mode=true; set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/auto_join0.q b/ql/src/test/queries/clientpositive/auto_join0.q index 24647fc..a838315 100644 --- a/ql/src/test/queries/clientpositive/auto_join0.q +++ b/ql/src/test/queries/clientpositive/auto_join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join = true; @@ -8,9 +42,9 @@ select sum(hash(a.k1,a.v1,a.k2, a.v2)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10 order by src.key, src.value) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10 order by `s/c`.key, `s/c`.value) src1 JOIN - (SELECT * FROM src WHERE src.key < 10 order by src.key, src.value) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10 order by `s/c`.key, `s/c`.value) src2 SORT BY k1, v1, k2, v2 ) a; @@ -18,8 +52,8 @@ select sum(hash(a.k1,a.v1,a.k2, a.v2)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10 order by src.key, src.value) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10 order by `s/c`.key, `s/c`.value) src1 JOIN - (SELECT * FROM src WHERE src.key < 10 order by src.key, src.value) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10 order by `s/c`.key, `s/c`.value) src2 SORT BY k1, v1, k2, v2 ) a; diff --git a/ql/src/test/queries/clientpositive/auto_join1.q b/ql/src/test/queries/clientpositive/auto_join1.q index 3aec73f..7fa7db1 100644 --- a/ql/src/test/queries/clientpositive/auto_join1.q +++ b/ql/src/test/queries/clientpositive/auto_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join =true; @@ -6,10 +40,10 @@ set hive.auto.convert.join =true; CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; explain -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT sum(hash(dest_j1.key,dest_j1.value)) FROM dest_j1; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join10.q b/ql/src/test/queries/clientpositive/auto_join10.q index 2dbdcf7..a666941 100644 --- a/ql/src/test/queries/clientpositive/auto_join10.q +++ b/ql/src/test/queries/clientpositive/auto_join10.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); diff --git a/ql/src/test/queries/clientpositive/auto_join11.q b/ql/src/test/queries/clientpositive/auto_join11.q index d8045b1..2171dc7 100644 --- a/ql/src/test/queries/clientpositive/auto_join11.q +++ b/ql/src/test/queries/clientpositive/auto_join11.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100; SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100; diff --git a/ql/src/test/queries/clientpositive/auto_join12.q b/ql/src/test/queries/clientpositive/auto_join12.q index b31e4f7..6957997 100644 --- a/ql/src/test/queries/clientpositive/auto_join12.q +++ b/ql/src/test/queries/clientpositive/auto_join12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; @@ -6,20 +40,20 @@ set hive.auto.convert.join = true; explain SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; diff --git a/ql/src/test/queries/clientpositive/auto_join13.q b/ql/src/test/queries/clientpositive/auto_join13.q index c116eba..21cf242 100644 --- a/ql/src/test/queries/clientpositive/auto_join13.q +++ b/ql/src/test/queries/clientpositive/auto_join13.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 + src2.c3 = src3.c5 AND src3.c5 < 200; SELECT sum(hash(src1.c1, src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 + src2.c3 = src3.c5 AND src3.c5 < 200; diff --git a/ql/src/test/queries/clientpositive/auto_join14.q b/ql/src/test/queries/clientpositive/auto_join14.q index bfd942d..7198078 100644 --- a/ql/src/test/queries/clientpositive/auto_join14.q +++ b/ql/src/test/queries/clientpositive/auto_join14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; @@ -10,10 +44,10 @@ set mapreduce.jobtracker.address=localhost:58; set hive.exec.mode.local.auto=true; explain -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; SELECT sum(hash(dest1.c1,dest1.c2)) FROM dest1; diff --git a/ql/src/test/queries/clientpositive/auto_join14_hadoop20.q b/ql/src/test/queries/clientpositive/auto_join14_hadoop20.q index 99815f5..1e21925 100644 --- a/ql/src/test/queries/clientpositive/auto_join14_hadoop20.q +++ b/ql/src/test/queries/clientpositive/auto_join14_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; @@ -9,10 +43,10 @@ set mapred.job.tracker=localhost:58; set hive.exec.mode.local.auto=true; explain -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; SELECT sum(hash(dest1.c1,dest1.c2)) FROM dest1; diff --git a/ql/src/test/queries/clientpositive/auto_join15.q b/ql/src/test/queries/clientpositive/auto_join15.q index 66b745f..ea27dc9 100644 --- a/ql/src/test/queries/clientpositive/auto_join15.q +++ b/ql/src/test/queries/clientpositive/auto_join15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; @@ -5,7 +39,7 @@ explain select sum(hash(a.k1,a.v1,a.k2, a.v2)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) SORT BY k1, v1, k2, v2 ) a; @@ -13,7 +47,7 @@ SORT BY k1, v1, k2, v2 select sum(hash(a.k1,a.v1,a.k2, a.v2)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) SORT BY k1, v1, k2, v2 ) a; diff --git a/ql/src/test/queries/clientpositive/auto_join16.q b/ql/src/test/queries/clientpositive/auto_join16.q index 0ade940..6639ef5 100644 --- a/ql/src/test/queries/clientpositive/auto_join16.q +++ b/ql/src/test/queries/clientpositive/auto_join16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; @@ -5,14 +39,14 @@ set hive.auto.convert.join = true; explain SELECT sum(hash(subq.key, tab.value)) FROM -(select a.key, a.value from src a where a.key > 10 ) subq -JOIN src tab +(select a.key, a.value from `s/c` a where a.key > 10 ) subq +JOIN `s/c` tab ON (subq.key = tab.key and subq.key > 20 and subq.value = tab.value) where tab.value < 200; SELECT sum(hash(subq.key, tab.value)) FROM -(select a.key, a.value from src a where a.key > 10 ) subq -JOIN src tab +(select a.key, a.value from `s/c` a where a.key > 10 ) subq +JOIN `s/c` tab ON (subq.key = tab.key and subq.key > 20 and subq.value = tab.value) where tab.value < 200; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join17.q b/ql/src/test/queries/clientpositive/auto_join17.q index 4bb804e..660c705 100644 --- a/ql/src/test/queries/clientpositive/auto_join17.q +++ b/ql/src/test/queries/clientpositive/auto_join17.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(key1 INT, value1 STRING, key2 INT, value2 STRING) STORED AS TEXTFILE; explain -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.*, src2.*; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.*, src2.*; SELECT sum(hash(dest1.key1,dest1.value1,dest1.key2,dest1.value2)) FROM dest1; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join18.q b/ql/src/test/queries/clientpositive/auto_join18.q index 7a3d6c9..3a6d410 100644 --- a/ql/src/test/queries/clientpositive/auto_join18.q +++ b/ql/src/test/queries/clientpositive/auto_join18.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain SELECT sum(hash(a.key, a.value, b.key, b.value)) FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( @@ -17,7 +51,7 @@ explain SELECT sum(hash(a.key, a.value, b.key, b.value)) FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( diff --git a/ql/src/test/queries/clientpositive/auto_join18_multi_distinct.q b/ql/src/test/queries/clientpositive/auto_join18_multi_distinct.q index 7465bc9..0205c7c 100644 --- a/ql/src/test/queries/clientpositive/auto_join18_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/auto_join18_multi_distinct.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain SELECT sum(hash(a.key, a.value, b.key, b.value1, b.value2)) FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( @@ -18,7 +52,7 @@ explain SELECT sum(hash(a.key, a.value, b.key, b.value1, b.value2)) FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( diff --git a/ql/src/test/queries/clientpositive/auto_join19.q b/ql/src/test/queries/clientpositive/auto_join19.q index 32935f1..80bacb2 100644 --- a/ql/src/test/queries/clientpositive/auto_join19.q +++ b/ql/src/test/queries/clientpositive/auto_join19.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; explain -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where (src1.ds = '2008-04-08' or src1.ds = '2008-04-09' )and (src1.hr = '12' or src1.hr = '11'); -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where (src1.ds = '2008-04-08' or src1.ds = '2008-04-09' )and (src1.hr = '12' or src1.hr = '11'); diff --git a/ql/src/test/queries/clientpositive/auto_join2.q b/ql/src/test/queries/clientpositive/auto_join2.q index f598ccb..ea3b379 100644 --- a/ql/src/test/queries/clientpositive/auto_join2.q +++ b/ql/src/test/queries/clientpositive/auto_join2.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest_j2(key INT, value STRING) STORED AS TEXTFILE; explain -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest_j2 SELECT src1.key, src3.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest_j2 SELECT src1.key, src3.value; SELECT sum(hash(dest_j2.key,dest_j2.value)) FROM dest_j2; diff --git a/ql/src/test/queries/clientpositive/auto_join20.q b/ql/src/test/queries/clientpositive/auto_join20.q index e619584..a8ce6b4 100644 --- a/ql/src/test/queries/clientpositive/auto_join20.q +++ b/ql/src/test/queries/clientpositive/auto_join20.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain select sum(hash(a.k1,a.v1,a.k2,a.v2,a.k3,a.v3)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 , src3.key as k3, src3.value as v3 -FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY k1,v1,k2,v2,k3,v3 )a; select sum(hash(a.k1,a.v1,a.k2,a.v2,a.k3,a.v3)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 , src3.key as k3, src3.value as v3 -FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY k1,v1,k2,v2,k3,v3 )a; @@ -19,13 +53,13 @@ explain select sum(hash(a.k1,a.v1,a.k2,a.v2,a.k3,a.v3)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 , src3.key as k3, src3.value as v3 -FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY k1,v1,k2,v2,k3,v3 )a; select sum(hash(a.k1,a.v1,a.k2,a.v2,a.k3,a.v3)) from ( SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 , src3.key as k3, src3.value as v3 -FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY k1,v1,k2,v2,k3,v3 )a; diff --git a/ql/src/test/queries/clientpositive/auto_join21.q b/ql/src/test/queries/clientpositive/auto_join21.q index 10ac490..595f4b7 100644 --- a/ql/src/test/queries/clientpositive/auto_join21.q +++ b/ql/src/test/queries/clientpositive/auto_join21.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join = true; -- SORT_QUERY_RESULTS explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/auto_join22.q b/ql/src/test/queries/clientpositive/auto_join22.q index b5eec90..8a4397c 100644 --- a/ql/src/test/queries/clientpositive/auto_join22.q +++ b/ql/src/test/queries/clientpositive/auto_join22.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain -SELECT sum(hash(src5.src1_value)) FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM src src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM src src1 JOIN src src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; +SELECT sum(hash(src5.src1_value)) FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM `s/c` src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM `s/c` src1 JOIN `s/c` src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; -SELECT sum(hash(src5.src1_value)) FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM src src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM src src1 JOIN src src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; +SELECT sum(hash(src5.src1_value)) FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM `s/c` src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM `s/c` src1 JOIN `s/c` src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; diff --git a/ql/src/test/queries/clientpositive/auto_join23.q b/ql/src/test/queries/clientpositive/auto_join23.q index 1259f78..2312de5 100644 --- a/ql/src/test/queries/clientpositive/auto_join23.q +++ b/ql/src/test/queries/clientpositive/auto_join23.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; -- SORT_QUERY_RESULTS explain -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; diff --git a/ql/src/test/queries/clientpositive/auto_join24.q b/ql/src/test/queries/clientpositive/auto_join24.q index e8b2648..a60ce3e 100644 --- a/ql/src/test/queries/clientpositive/auto_join24.q +++ b/ql/src/test/queries/clientpositive/auto_join24.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; create table tst1(key STRING, cnt INT); INSERT OVERWRITE TABLE tst1 -SELECT a.key, count(1) FROM src a group by a.key; +SELECT a.key, count(1) FROM `s/c` a group by a.key; explain SELECT sum(a.cnt) FROM tst1 a JOIN tst1 b ON a.key = b.key; diff --git a/ql/src/test/queries/clientpositive/auto_join25.q b/ql/src/test/queries/clientpositive/auto_join25.q index b8734ab..e93cf37 100644 --- a/ql/src/test/queries/clientpositive/auto_join25.q +++ b/ql/src/test/queries/clientpositive/auto_join25.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.PostExecutePrinter,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; set hive.auto.convert.join = true; @@ -8,7 +42,7 @@ set hive.auto.convert.join.noconditionaltask = false; -- This test tests the scenario when the mapper dies. So, create a conditional task for the mapjoin CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where (src1.ds = '2008-04-08' or src1.ds = '2008-04-09' )and (src1.hr = '12' or src1.hr = '11'); @@ -18,14 +52,14 @@ SELECT sum(hash(dest1.key,dest1.value)) FROM dest1; CREATE TABLE dest_j2(key INT, value STRING) STORED AS TEXTFILE; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest_j2 SELECT src1.key, src3.value; SELECT sum(hash(dest_j2.key,dest_j2.value)) FROM dest_j2; CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT sum(hash(dest_j1.key,dest_j1.value)) FROM dest_j1; diff --git a/ql/src/test/queries/clientpositive/auto_join26.q b/ql/src/test/queries/clientpositive/auto_join26.q index 8987637..93e662e 100644 --- a/ql/src/test/queries/clientpositive/auto_join26.q +++ b/ql/src/test/queries/clientpositive/auto_join26.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, cnt INT); set hive.auto.convert.join = true; EXPLAIN INSERT OVERWRITE TABLE dest_j1 -SELECT x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; +SELECT x.key, count(1) FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key; INSERT OVERWRITE TABLE dest_j1 -SELECT x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; +SELECT x.key, count(1) FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key; select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/auto_join27.q b/ql/src/test/queries/clientpositive/auto_join27.q index 2dc5845..482ecf4 100644 --- a/ql/src/test/queries/clientpositive/auto_join27.q +++ b/ql/src/test/queries/clientpositive/auto_join27.q @@ -1,25 +1,59 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain SELECT count(1) FROM ( -SELECT src.key, src.value from src +SELECT `s/c`.key, `s/c`.value from `s/c` UNION ALL -SELECT DISTINCT src.key, src.value from src +SELECT DISTINCT `s/c`.key, `s/c`.value from `s/c` ) src_12 JOIN -(SELECT src.key as k, src.value as v from src) src3 +(SELECT `s/c`.key as k, `s/c`.value as v from `s/c`) src3 ON src_12.key = src3.k AND src3.k < 200; SELECT count(1) FROM ( -SELECT src.key, src.value from src +SELECT `s/c`.key, `s/c`.value from `s/c` UNION ALL -SELECT DISTINCT src.key, src.value from src +SELECT DISTINCT `s/c`.key, `s/c`.value from `s/c` ) src_12 JOIN -(SELECT src.key as k, src.value as v from src) src3 +(SELECT `s/c`.key as k, `s/c`.value as v from `s/c`) src3 ON src_12.key = src3.k AND src3.k < 200; diff --git a/ql/src/test/queries/clientpositive/auto_join28.q b/ql/src/test/queries/clientpositive/auto_join28.q index 61b9d84..69bcbdb 100644 --- a/ql/src/test/queries/clientpositive/auto_join28.q +++ b/ql/src/test/queries/clientpositive/auto_join28.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapjoin.smalltable.filesize = 1; set hive.auto.convert.join = true; explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/auto_join29.q b/ql/src/test/queries/clientpositive/auto_join29.q index f991540..49caccb 100644 --- a/ql/src/test/queries/clientpositive/auto_join29.q +++ b/ql/src/test/queries/clientpositive/auto_join29.q @@ -1,49 +1,83 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join = true; -- SORT_QUERY_RESULTS explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) LEFT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 RIGHT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 RIGHT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; explain -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/auto_join3.q b/ql/src/test/queries/clientpositive/auto_join3.q index 9547654..5bf94d5 100644 --- a/ql/src/test/queries/clientpositive/auto_join3.q +++ b/ql/src/test/queries/clientpositive/auto_join3.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; explain -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; SELECT sum(hash(dest1.key,dest1.value)) FROM dest1; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join30.q b/ql/src/test/queries/clientpositive/auto_join30.q index 7ac3c0e..ab9418f 100644 --- a/ql/src/test/queries/clientpositive/auto_join30.q +++ b/ql/src/test/queries/clientpositive/auto_join30.q @@ -1,152 +1,186 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join = true; explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x LEFT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); diff --git a/ql/src/test/queries/clientpositive/auto_join31.q b/ql/src/test/queries/clientpositive/auto_join31.q index cfa5eba..72de45d 100644 --- a/ql/src/test/queries/clientpositive/auto_join31.q +++ b/ql/src/test/queries/clientpositive/auto_join31.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; explain FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); FROM -(SELECT src.* FROM src sort by key) x +(SELECT `s/c`.* FROM `s/c` sort by key) x RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (x.key = Y.key) JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (x.key = Z.key) select sum(hash(Y.key,Y.value)); diff --git a/ql/src/test/queries/clientpositive/auto_join32.q b/ql/src/test/queries/clientpositive/auto_join32.q index e7846ee..941dcd1 100644 --- a/ql/src/test/queries/clientpositive/auto_join32.q +++ b/ql/src/test/queries/clientpositive/auto_join32.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; -- empty tables diff --git a/ql/src/test/queries/clientpositive/auto_join33.q b/ql/src/test/queries/clientpositive/auto_join33.q index a0a7a0e..149bfa1 100644 --- a/ql/src/test/queries/clientpositive/auto_join33.q +++ b/ql/src/test/queries/clientpositive/auto_join33.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; -- SORT_QUERY_RESULTS explain SELECT * FROM - (SELECT * FROM src WHERE key+1 < 10) a + (SELECT * FROM `s/c` WHERE key+1 < 10) a JOIN - (SELECT * FROM src WHERE key+2 < 10) b + (SELECT * FROM `s/c` WHERE key+2 < 10) b ON a.key+1=b.key+2; SELECT * FROM - (SELECT * FROM src WHERE key+1 < 10) a + (SELECT * FROM `s/c` WHERE key+1 < 10) a JOIN - (SELECT * FROM src WHERE key+2 < 10) b + (SELECT * FROM `s/c` WHERE key+2 < 10) b ON a.key+1=b.key+2; diff --git a/ql/src/test/queries/clientpositive/auto_join4.q b/ql/src/test/queries/clientpositive/auto_join4.q index 1c2ad5f..b050b3f 100644 --- a/ql/src/test/queries/clientpositive/auto_join4.q +++ b/ql/src/test/queries/clientpositive/auto_join4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ explain FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/auto_join5.q b/ql/src/test/queries/clientpositive/auto_join5.q index 9456292..6586c81 100644 --- a/ql/src/test/queries/clientpositive/auto_join5.q +++ b/ql/src/test/queries/clientpositive/auto_join5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ explain FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/auto_join6.q b/ql/src/test/queries/clientpositive/auto_join6.q index a0f8e55..0e70230 100644 --- a/ql/src/test/queries/clientpositive/auto_join6.q +++ b/ql/src/test/queries/clientpositive/auto_join6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ explain FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/auto_join7.q b/ql/src/test/queries/clientpositive/auto_join7.q index ca10560..d7d4f32 100644 --- a/ql/src/test/queries/clientpositive/auto_join7.q +++ b/ql/src/test/queries/clientpositive/auto_join7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING, c5 INT, c6 STRING) STORED AS TEXTFILE; @@ -7,16 +41,16 @@ explain FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) LEFT OUTER JOIN ( - FROM src src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 + FROM `s/c` src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 ) c ON (a.c1 = c.c5) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4, c.c5 AS c5, c.c6 AS c6 @@ -26,16 +60,16 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4, c.c5, c.c6; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) LEFT OUTER JOIN ( - FROM src src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 + FROM `s/c` src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 ) c ON (a.c1 = c.c5) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4, c.c5 AS c5, c.c6 AS c6 diff --git a/ql/src/test/queries/clientpositive/auto_join8.q b/ql/src/test/queries/clientpositive/auto_join8.q index 553fc25..4073732 100644 --- a/ql/src/test/queries/clientpositive/auto_join8.q +++ b/ql/src/test/queries/clientpositive/auto_join8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ explain FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4 where c.c3 IS NULL AN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/auto_join9.q b/ql/src/test/queries/clientpositive/auto_join9.q index fb3eafb..5c5e10a 100644 --- a/ql/src/test/queries/clientpositive/auto_join9.q +++ b/ql/src/test/queries/clientpositive/auto_join9.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; explain -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where src1.ds = '2008-04-08' and src1.hr = '12'; -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where src1.ds = '2008-04-08' and src1.hr = '12'; diff --git a/ql/src/test/queries/clientpositive/auto_join_filters.q b/ql/src/test/queries/clientpositive/auto_join_filters.q index eefd211..9910d67 100644 --- a/ql/src/test/queries/clientpositive/auto_join_filters.q +++ b/ql/src/test/queries/clientpositive/auto_join_filters.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE myinput1(key int, value int); diff --git a/ql/src/test/queries/clientpositive/auto_join_nulls.q b/ql/src/test/queries/clientpositive/auto_join_nulls.q index d1b7bb4..2ad848f 100644 --- a/ql/src/test/queries/clientpositive/auto_join_nulls.q +++ b/ql/src/test/queries/clientpositive/auto_join_nulls.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE myinput1(key int, value int); diff --git a/ql/src/test/queries/clientpositive/auto_join_reordering_values.q b/ql/src/test/queries/clientpositive/auto_join_reordering_values.q index 55bd975..4fac273 100644 --- a/ql/src/test/queries/clientpositive/auto_join_reordering_values.q +++ b/ql/src/test/queries/clientpositive/auto_join_reordering_values.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-5056 RS has expression list for values, but it's ignored in MapJoinProcessor create table testsrc ( `key` int,`val` string); diff --git a/ql/src/test/queries/clientpositive/auto_join_stats.q b/ql/src/test/queries/clientpositive/auto_join_stats.q index de56abd..60d6986 100644 --- a/ql/src/test/queries/clientpositive/auto_join_stats.q +++ b/ql/src/test/queries/clientpositive/auto_join_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; set hive.auto.convert.join.noconditionaltask.size=2660; @@ -8,12 +42,12 @@ create table smalltable(key string, value string) stored as textfile; load data local inpath '../../data/files/T1.txt' into table smalltable; analyze table smalltable compute statistics; -explain select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); -select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); +explain select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); +select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); create table smalltable2(key string, value string) stored as textfile; load data local inpath '../../data/files/T1.txt' into table smalltable2; analyze table smalltable compute statistics; -explain select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); -select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); \ No newline at end of file +explain select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); +select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join_stats2.q b/ql/src/test/queries/clientpositive/auto_join_stats2.q index bf39c95..9683e00 100644 --- a/ql/src/test/queries/clientpositive/auto_join_stats2.q +++ b/ql/src/test/queries/clientpositive/auto_join_stats2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; -- Auto_join2 no longer tests merging the mapjoin work if big-table selection is based on stats, as src3 is smaller statistically than src1 + src2. @@ -6,12 +40,12 @@ set hive.auto.convert.join = true; create table smalltable(key string, value string) stored as textfile; load data local inpath '../../data/files/T1.txt' into table smalltable; -explain select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); -select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); +explain select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); +select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key); create table smalltable2(key string, value string) stored as textfile; load data local inpath '../../data/files/T1.txt' into table smalltable2; analyze table smalltable compute statistics; -explain select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); -select src1.key, src2.key, smalltable.key from src src1 JOIN src src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); \ No newline at end of file +explain select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); +select src1.key, src2.key, smalltable.key from `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN smalltable ON (src1.key + src2.key = smalltable.key) JOIN smalltable2 ON (src1.key + src2.key = smalltable2.key); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/auto_join_without_localtask.q b/ql/src/test/queries/clientpositive/auto_join_without_localtask.q index 47c66d2..b9b5bdc 100644 --- a/ql/src/test/queries/clientpositive/auto_join_without_localtask.q +++ b/ql/src/test/queries/clientpositive/auto_join_without_localtask.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.PostExecutePrinter,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; set hive.auto.convert.join=true; set hive.auto.convert.join.use.nonstaged=true; @@ -5,25 +39,25 @@ set hive.auto.convert.join.use.nonstaged=true; set hive.auto.convert.join.noconditionaltask.size=100; explain -select a.* from src a join src b on a.key=b.key order by key, value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key order by key, value limit 40; -select a.* from src a join src b on a.key=b.key order by key, value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key order by key, value limit 40; explain -select a.* from src a join src b on a.key=b.key join src c on a.value=c.value order by a.key, a.value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key join `s/c` c on a.value=c.value order by a.key, a.value limit 40; -select a.* from src a join src b on a.key=b.key join src c on a.value=c.value order by a.key, a.value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key join `s/c` c on a.value=c.value order by a.key, a.value limit 40; set hive.auto.convert.join.noconditionaltask.size=100; explain -select a.* from src a join src b on a.key=b.key join src c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key join `s/c` c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; -select a.* from src a join src b on a.key=b.key join src c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key join `s/c` c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; set hive.mapjoin.localtask.max.memory.usage = 0.0001; set hive.mapjoin.check.memory.rows = 2; -- fallback to common join -select a.* from src a join src b on a.key=b.key join src c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; +select a.* from `s/c` a join `s/c` b on a.key=b.key join `s/c` c on a.value=c.value where a.key>100 order by a.key, a.value limit 40; diff --git a/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q b/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q index 699777e..e0d90dd 100644 --- a/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q +++ b/ql/src/test/queries/clientpositive/auto_smb_mapjoin_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -8,10 +42,10 @@ CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_1.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_1.q index ddd2c18..e7c98c8 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_1.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 2 bucket & big 2 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_10.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_10.q index c07dd23..bccc05e 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_10.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -7,10 +41,10 @@ CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; set hive.auto.convert.join=true; set hive.optimize.bucketmapjoin = true; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_11.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_11.q index 73e98dd..9af561e 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_11.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 2 bucket & big 2 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_12.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_12.q index f434b33..94bdb6d 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_12.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 2 bucket & big 2 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q index f35fec1..d2acf8b 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -8,8 +42,8 @@ set hive.exec.reducers.max = 1; CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -insert overwrite table tbl1 select * from src where key < 10; -insert overwrite table tbl2 select * from src where key < 10; +insert overwrite table tbl1 select * from `s/c` where key < 10; +insert overwrite table tbl2 select * from `s/c` where key < 10; CREATE TABLE dest1(k1 int, k2 int); CREATE TABLE dest2(k1 string, k2 string); diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_14.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_14.q index eabeff0..e91132a 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_14.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -6,8 +40,8 @@ set hive.exec.reducers.max = 1; CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -insert overwrite table tbl1 select * from src where key < 20; -insert overwrite table tbl2 select * from src where key < 10; +insert overwrite table tbl1 select * from `s/c` where key < 20; +insert overwrite table tbl2 select * from `s/c` where key < 10; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; @@ -22,7 +56,7 @@ explain select count(*) FROM tbl1 a LEFT OUTER JOIN tbl2 b ON a.key = b.key; select count(*) FROM tbl1 a LEFT OUTER JOIN tbl2 b ON a.key = b.key; -insert overwrite table tbl2 select * from src where key < 200; +insert overwrite table tbl2 select * from `s/c` where key < 200; -- Since tbl2 is the bigger table, tbl1 Right Outer Join tbl2 can be performed explain diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_15.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_15.q index a553d93..c4f7c48 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_15.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -6,8 +40,8 @@ set hive.exec.reducers.max = 1; CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -insert overwrite table tbl1 select * from src where key < 20; -insert overwrite table tbl2 select * from src where key < 10; +insert overwrite table tbl1 select * from `s/c` where key < 20; +insert overwrite table tbl2 select * from `s/c` where key < 10; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_16.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_16.q index cb244cf..7112e06 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_16.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.exec.dynamic.partition.mode=nonstrict; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_2.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_2.q index eef5483..04de587 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_2.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 4 bucket & big 2 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/smallsrcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_3.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_3.q index c094ecd..ac7b5d0 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_3.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 2 bucket & big 1 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/smallsrcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q index 18acfbf..06b61c6 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 4 bucket & big 1 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/smallsrcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_5.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_5.q index 75c930c..ff4b74a 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_5.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small no part, 4 bucket & big no part, 2 bucket -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_6.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_6.q index 309987b..220a7a7 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_6.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -7,10 +41,10 @@ CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl3(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE tbl4(key int, value string) CLUSTERED BY (value) SORTED BY (value) INTO 2 BUCKETS; -insert overwrite table tbl1 select * from src; -insert overwrite table tbl2 select * from src; -insert overwrite table tbl3 select * from src; -insert overwrite table tbl4 select * from src; +insert overwrite table tbl1 select * from `s/c`; +insert overwrite table tbl2 select * from `s/c`; +insert overwrite table tbl3 select * from `s/c`; +insert overwrite table tbl4 select * from `s/c`; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -27,24 +61,24 @@ set hive.auto.convert.sortmerge.join.to.mapjoin=false; -- b = TS[0]-OP[13]-MAPJOIN[11]-RS[6]-JOIN[8]-SEL[9]-FS[10] -- c = TS[1]-RS[7]-JOIN[8] -- a = TS[2]-MAPJOIN[11] -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.value = a.value; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.value = a.value; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.value = a.value; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.value = a.value; -- d = TS[0]-RS[7]-JOIN[8]-SEL[9]-FS[10] -- b = TS[1]-OP[13]-MAPJOIN[11]-RS[6]-JOIN[8] -- a = TS[2]-MAPJOIN[11] -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src d on d.value = a.value; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src d on d.value = a.value; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` d on d.value = a.value; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` d on d.value = a.value; -- b = TS[0]-OP[13]-MAPJOIN[11]-RS[6]-JOIN[8]-SEL[9]-FS[10] -- a = TS[1]-MAPJOIN[11] -- h = TS[2]-RS[7]-JOIN[8] -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src h on h.value = a.value; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src h on h.value = a.value; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` h on h.value = a.value; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` h on h.value = a.value; -- A SMB join is being followed by a regular join on a non-bucketed table on the same key -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.key = a.key; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.key = a.key; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.key = a.key; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.key = a.key; -- A SMB join is being followed by a regular join on a bucketed table on the same key explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join tbl3 c on c.key = a.key; @@ -57,12 +91,12 @@ select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join tbl4 c on c.value set hive.auto.convert.sortmerge.join.to.mapjoin=true; -- A SMB join is being followed by a regular join on a non-bucketed table on a different key -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.value = a.value; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.value = a.value; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.value = a.value; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.value = a.value; -- A SMB join is being followed by a regular join on a non-bucketed table on the same key -explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.key = a.key; -select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join src c on c.key = a.key; +explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.key = a.key; +select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join `s/c` c on c.key = a.key; -- A SMB join is being followed by a regular join on a bucketed table on the same key explain select count(*) FROM tbl1 a JOIN tbl2 b ON a.key = b.key join tbl3 c on c.key = a.key; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_7.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_7.q index e19cc31..f344cf2 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_7.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 4 bucket & big 2 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/smallsrcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_8.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_8.q index 734d2b3..6a8a9cb 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_8.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; diff --git a/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q b/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q index 9eb85d3..e58a075 100644 --- a/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q +++ b/ql/src/test/queries/clientpositive/auto_sortmerge_join_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -9,10 +43,10 @@ CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; set hive.auto.convert.join=true; set hive.optimize.bucketmapjoin = true; diff --git a/ql/src/test/queries/clientpositive/autogen_colalias.q b/ql/src/test/queries/clientpositive/autogen_colalias.q index dac0bf7..d3ea81a 100644 --- a/ql/src/test/queries/clientpositive/autogen_colalias.q +++ b/ql/src/test/queries/clientpositive/autogen_colalias.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TEMPORARY FUNCTION test_max AS 'org.apache.hadoop.hive.ql.udf.UDAFTestMax'; -create table dest_grouped_old1 as select 1+1, 2+2 as zz, src.key, test_max(length(src.value)), count(src.value), sin(count(src.value)), count(sin(src.value)), current_timestamp(), CAST(SUM(IF(value > 10, value, 1)) AS INT), if(src.key > 1, +create table dest_grouped_old1 as select 1+1, 2+2 as zz, `s/c`.key, test_max(length(`s/c`.value)), count(`s/c`.value), sin(count(`s/c`.value)), count(sin(`s/c`.value)), current_timestamp(), CAST(SUM(IF(value > 10, value, 1)) AS INT), if(`s/c`.key > 1, 1, 0) - from src group by src.key; + from `s/c` group by `s/c`.key; describe dest_grouped_old1; -create table dest_grouped_old2 as select distinct src.key from src; +create table dest_grouped_old2 as select distinct `s/c`.key from `s/c`; describe dest_grouped_old2; set hive.autogen.columnalias.prefix.label=column_; set hive.autogen.columnalias.prefix.includefuncname=true; -create table dest_grouped_new1 as select 1+1, 2+2 as zz, ((src.key % 2)+2)/2, test_max(length(src.value)), count(src.value), sin(count(src.value)), count(sin(src.value)), current_timestamp(), CAST(SUM(IF(value > 10, value, 1)) AS INT), if(src.key > 10, - (src.key +5) % 2, +create table dest_grouped_new1 as select 1+1, 2+2 as zz, ((`s/c`.key % 2)+2)/2, test_max(length(`s/c`.value)), count(`s/c`.value), sin(count(`s/c`.value)), count(sin(`s/c`.value)), current_timestamp(), CAST(SUM(IF(value > 10, value, 1)) AS INT), if(`s/c`.key > 10, + (`s/c`.key +5) % 2, 0) -from src group by src.key; +from `s/c` group by `s/c`.key; describe dest_grouped_new1; -create table dest_grouped_new2 as select distinct src.key from src; +create table dest_grouped_new2 as select distinct `s/c`.key from `s/c`; describe dest_grouped_new2; -- Drop the temporary function at the end till HIVE-3160 gets fixed diff --git a/ql/src/test/queries/clientpositive/avro_add_column.q b/ql/src/test/queries/clientpositive/avro_add_column.q index 17dc2ff..96fe2e7 100644 --- a/ql/src/test/queries/clientpositive/avro_add_column.q +++ b/ql/src/test/queries/clientpositive/avro_add_column.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that we can actually read avro files diff --git a/ql/src/test/queries/clientpositive/avro_add_column2.q b/ql/src/test/queries/clientpositive/avro_add_column2.q index 36999da..5c871ad 100644 --- a/ql/src/test/queries/clientpositive/avro_add_column2.q +++ b/ql/src/test/queries/clientpositive/avro_add_column2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that we can actually read avro files diff --git a/ql/src/test/queries/clientpositive/avro_add_column3.q b/ql/src/test/queries/clientpositive/avro_add_column3.q index f33ee03..5b0f97b 100644 --- a/ql/src/test/queries/clientpositive/avro_add_column3.q +++ b/ql/src/test/queries/clientpositive/avro_add_column3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that we can actually read avro files diff --git a/ql/src/test/queries/clientpositive/avro_change_schema.q b/ql/src/test/queries/clientpositive/avro_change_schema.q index 08e72c4..e196f5a 100644 --- a/ql/src/test/queries/clientpositive/avro_change_schema.q +++ b/ql/src/test/queries/clientpositive/avro_change_schema.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- verify that we can update the table properties CREATE TABLE avro2 ROW FORMAT diff --git a/ql/src/test/queries/clientpositive/avro_charvarchar.q b/ql/src/test/queries/clientpositive/avro_charvarchar.q index f36e143..b1f3ef6 100644 --- a/ql/src/test/queries/clientpositive/avro_charvarchar.q +++ b/ql/src/test/queries/clientpositive/avro_charvarchar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE avro_charvarchar_staging; DROP TABLE avro_charvarchar; diff --git a/ql/src/test/queries/clientpositive/avro_comments.q b/ql/src/test/queries/clientpositive/avro_comments.q index f551964..93b0a30 100644 --- a/ql/src/test/queries/clientpositive/avro_comments.q +++ b/ql/src/test/queries/clientpositive/avro_comments.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- verify Avro columns comments DROP TABLE IF EXISTS testAvroComments1; diff --git a/ql/src/test/queries/clientpositive/avro_compression_enabled.q b/ql/src/test/queries/clientpositive/avro_compression_enabled.q index 58867ff..b000b93 100644 --- a/ql/src/test/queries/clientpositive/avro_compression_enabled.q +++ b/ql/src/test/queries/clientpositive/avro_compression_enabled.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE doctors4 @@ -39,5 +73,5 @@ LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors4; set hive.exec.compress.output=true; -select count(*) from src; +select count(*) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q b/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q index 99c38ba..a55b442 100644 --- a/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q +++ b/ql/src/test/queries/clientpositive/avro_compression_enabled_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- verify that new joins bring in correct schemas (including evolved schemas) CREATE TABLE doctors4 ( @@ -11,4 +45,4 @@ LOAD DATA LOCAL INPATH '../../data/files/doctors.avro' INTO TABLE doctors4; set hive.exec.compress.output=true; -SELECT count(*) FROM src; \ No newline at end of file +SELECT count(*) FROM `s/c`; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/avro_date.q b/ql/src/test/queries/clientpositive/avro_date.q index 0405bae..6c95042 100644 --- a/ql/src/test/queries/clientpositive/avro_date.q +++ b/ql/src/test/queries/clientpositive/avro_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- JAVA_VERSION_SPECIFIC_OUTPUT DROP TABLE avro_date_staging; diff --git a/ql/src/test/queries/clientpositive/avro_decimal.q b/ql/src/test/queries/clientpositive/avro_decimal.q index ca1533a..3be9df6 100644 --- a/ql/src/test/queries/clientpositive/avro_decimal.q +++ b/ql/src/test/queries/clientpositive/avro_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS dec; CREATE TABLE dec(name string, value decimal(8,4)); diff --git a/ql/src/test/queries/clientpositive/avro_decimal_native.q b/ql/src/test/queries/clientpositive/avro_decimal_native.q index e856586..1b73a90 100644 --- a/ql/src/test/queries/clientpositive/avro_decimal_native.q +++ b/ql/src/test/queries/clientpositive/avro_decimal_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS dec; CREATE TABLE dec ( diff --git a/ql/src/test/queries/clientpositive/avro_deserialize_map_null.q b/ql/src/test/queries/clientpositive/avro_deserialize_map_null.q index 962e649..17d118b 100644 --- a/ql/src/test/queries/clientpositive/avro_deserialize_map_null.q +++ b/ql/src/test/queries/clientpositive/avro_deserialize_map_null.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- These test attempts to deserialize an Avro file that contains map null values, and the file schema -- vs record schema have the null values in different positions -- i.e. diff --git a/ql/src/test/queries/clientpositive/avro_evolved_schemas.q b/ql/src/test/queries/clientpositive/avro_evolved_schemas.q index 05be324..cfb8e1e 100644 --- a/ql/src/test/queries/clientpositive/avro_evolved_schemas.q +++ b/ql/src/test/queries/clientpositive/avro_evolved_schemas.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that new fields in schema get propagated to table scans diff --git a/ql/src/test/queries/clientpositive/avro_joins.q b/ql/src/test/queries/clientpositive/avro_joins.q index 9d06881..1d23825 100644 --- a/ql/src/test/queries/clientpositive/avro_joins.q +++ b/ql/src/test/queries/clientpositive/avro_joins.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that new joins bring in correct schemas (including evolved schemas) diff --git a/ql/src/test/queries/clientpositive/avro_joins_native.q b/ql/src/test/queries/clientpositive/avro_joins_native.q index ca95c16..389e05a 100644 --- a/ql/src/test/queries/clientpositive/avro_joins_native.q +++ b/ql/src/test/queries/clientpositive/avro_joins_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that new joins bring in correct schemas (including evolved schemas) diff --git a/ql/src/test/queries/clientpositive/avro_native.q b/ql/src/test/queries/clientpositive/avro_native.q index 61d1bc6..6286719 100644 --- a/ql/src/test/queries/clientpositive/avro_native.q +++ b/ql/src/test/queries/clientpositive/avro_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that we can actually read avro files diff --git a/ql/src/test/queries/clientpositive/avro_nullable_fields.q b/ql/src/test/queries/clientpositive/avro_nullable_fields.q index 9ba7441..68d9a08 100644 --- a/ql/src/test/queries/clientpositive/avro_nullable_fields.q +++ b/ql/src/test/queries/clientpositive/avro_nullable_fields.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Verify that nullable fields properly work -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/avro_partitioned.q b/ql/src/test/queries/clientpositive/avro_partitioned.q index a06e7c4..eff9897 100644 --- a/ql/src/test/queries/clientpositive/avro_partitioned.q +++ b/ql/src/test/queries/clientpositive/avro_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- Verify that table scans work with partitioned Avro tables CREATE TABLE episodes diff --git a/ql/src/test/queries/clientpositive/avro_partitioned_native.q b/ql/src/test/queries/clientpositive/avro_partitioned_native.q index 0e261b3..5127ef9 100644 --- a/ql/src/test/queries/clientpositive/avro_partitioned_native.q +++ b/ql/src/test/queries/clientpositive/avro_partitioned_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- Verify that table scans work with partitioned Avro tables CREATE TABLE episodes ( diff --git a/ql/src/test/queries/clientpositive/avro_sanity_test.q b/ql/src/test/queries/clientpositive/avro_sanity_test.q index 59e914b..b3ee053 100644 --- a/ql/src/test/queries/clientpositive/avro_sanity_test.q +++ b/ql/src/test/queries/clientpositive/avro_sanity_test.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- verify that we can actually read avro files diff --git a/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q b/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q index ff155f7..0dcd214 100644 --- a/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q +++ b/ql/src/test/queries/clientpositive/avro_schema_evolution_native.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- Verify that table scans work with partitioned Avro tables CREATE TABLE episodes ( diff --git a/ql/src/test/queries/clientpositive/avro_schema_literal.q b/ql/src/test/queries/clientpositive/avro_schema_literal.q index b5e3ec1..f237b6e 100644 --- a/ql/src/test/queries/clientpositive/avro_schema_literal.q +++ b/ql/src/test/queries/clientpositive/avro_schema_literal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE avro1 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' diff --git a/ql/src/test/queries/clientpositive/avro_timestamp.q b/ql/src/test/queries/clientpositive/avro_timestamp.q index d17fdc6..2c4a48d 100644 --- a/ql/src/test/queries/clientpositive/avro_timestamp.q +++ b/ql/src/test/queries/clientpositive/avro_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Exclude test on Windows due to space character being escaped in Hive paths on Windows. -- EXCLUDE_OS_WINDOWS -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/avro_timestamp_win.q b/ql/src/test/queries/clientpositive/avro_timestamp_win.q index 9abfd44..ebfe933 100644 --- a/ql/src/test/queries/clientpositive/avro_timestamp_win.q +++ b/ql/src/test/queries/clientpositive/avro_timestamp_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Windows-specific test due to space character being escaped in Hive paths on Windows. -- INCLUDE_OS_WINDOWS -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/avro_type_evolution.q b/ql/src/test/queries/clientpositive/avro_type_evolution.q index 4c9539c..ef1b1e1 100644 --- a/ql/src/test/queries/clientpositive/avro_type_evolution.q +++ b/ql/src/test/queries/clientpositive/avro_type_evolution.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- File Schema { "name" : "val", "type" : [ "null", "int" ] } -- Record Schema { "name" : "val", "type" : [ "long", "null" ] } diff --git a/ql/src/test/queries/clientpositive/ba_table1.q b/ql/src/test/queries/clientpositive/ba_table1.q index fe687e6..0a6433e 100644 --- a/ql/src/test/queries/clientpositive/ba_table1.q +++ b/ql/src/test/queries/clientpositive/ba_table1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table ba_test; @@ -8,7 +42,7 @@ create table ba_test (ba_key binary, ba_val binary) ; describe extended ba_test; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); select * from ba_test tablesample (10 rows); diff --git a/ql/src/test/queries/clientpositive/ba_table2.q b/ql/src/test/queries/clientpositive/ba_table2.q index 1746091..0c63fee 100644 --- a/ql/src/test/queries/clientpositive/ba_table2.q +++ b/ql/src/test/queries/clientpositive/ba_table2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table ba_test; @@ -9,7 +43,7 @@ alter table ba_test set serde 'org.apache.hadoop.hive.serde2.lazybinary.LazyBina describe extended ba_test; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); select * from ba_test tablesample (10 rows); diff --git a/ql/src/test/queries/clientpositive/ba_table3.q b/ql/src/test/queries/clientpositive/ba_table3.q index 8137722..31e84a5 100644 --- a/ql/src/test/queries/clientpositive/ba_table3.q +++ b/ql/src/test/queries/clientpositive/ba_table3.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ba_test; -- All the tests of ba_table1.q + test for a group-by and aggregation on a binary key. create table ba_test (ba_key binary, ba_val binary) ; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); select ba_test.ba_key, count(ba_test.ba_val) from ba_test group by ba_test.ba_key order by ba_key limit 5; diff --git a/ql/src/test/queries/clientpositive/ba_table_udfs.q b/ql/src/test/queries/clientpositive/ba_table_udfs.q index 7d952db..946366d 100644 --- a/ql/src/test/queries/clientpositive/ba_table_udfs.q +++ b/ql/src/test/queries/clientpositive/ba_table_udfs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS USE default; @@ -6,7 +40,7 @@ CREATE TABLE dest1(bytes1 BINARY, bytes2 BINARY, string STRING); -FROM src INSERT OVERWRITE TABLE dest1 +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT CAST(key AS BINARY), CAST(value AS BINARY), diff --git a/ql/src/test/queries/clientpositive/ba_table_union.q b/ql/src/test/queries/clientpositive/ba_table_union.q index bf35d0e..affa2c9 100644 --- a/ql/src/test/queries/clientpositive/ba_table_union.q +++ b/ql/src/test/queries/clientpositive/ba_table_union.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ba_test; -- this query tests ba_table1.q + nested queries with multiple operations on binary data types + union on binary types @@ -5,9 +39,9 @@ create table ba_test (ba_key binary, ba_val binary) ; describe extended ba_test; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); -select * from ( select key from src where key < 50 union all select cast(ba_key as string) as key from ba_test order by key limit 50) unioned order by key limit 10; +select * from ( select key from `s/c` where key < 50 union all select cast(ba_key as string) as key from ba_test order by key limit 50) unioned order by key limit 10; drop table ba_test; diff --git a/ql/src/test/queries/clientpositive/binary_constant.q b/ql/src/test/queries/clientpositive/binary_constant.q index 4f80dc3..2ae7445 100644 --- a/ql/src/test/queries/clientpositive/binary_constant.q +++ b/ql/src/test/queries/clientpositive/binary_constant.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -select cast(cast('a' as binary) as string) from src tablesample (1 rows); +select cast(cast('a' as binary) as string) from `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/binary_output_format.q b/ql/src/test/queries/clientpositive/binary_output_format.q index c5d9abd..56782bc 100644 --- a/ql/src/test/queries/clientpositive/binary_output_format.q +++ b/ql/src/test/queries/clientpositive/binary_output_format.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Create a table with binary output format CREATE TABLE dest1(mydata STRING) ROW FORMAT SERDE @@ -21,7 +55,7 @@ SELECT TRANSFORM(*) 'serialization.last.column.takes.rest'='true' ) RECORDREADER 'org.apache.hadoop.hive.ql.exec.BinaryRecordReader' -FROM src; +FROM `s/c`; INSERT OVERWRITE TABLE dest1 SELECT TRANSFORM(*) @@ -33,7 +67,7 @@ SELECT TRANSFORM(*) 'serialization.last.column.takes.rest'='true' ) RECORDREADER 'org.apache.hadoop.hive.ql.exec.BinaryRecordReader' -FROM src; +FROM `s/c`; -- Test the result SELECT * FROM dest1; diff --git a/ql/src/test/queries/clientpositive/binary_table_bincolserde.q b/ql/src/test/queries/clientpositive/binary_table_bincolserde.q index 47a560c..0be9bea 100644 --- a/ql/src/test/queries/clientpositive/binary_table_bincolserde.q +++ b/ql/src/test/queries/clientpositive/binary_table_bincolserde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ba_test; -- Tests everything in binary_table_colserde.q + uses LazyBinaryColumnarSerde @@ -7,7 +41,7 @@ alter table ba_test set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinary describe extended ba_test; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); select ba_key, ba_val from ba_test order by ba_key limit 10; diff --git a/ql/src/test/queries/clientpositive/binary_table_colserde.q b/ql/src/test/queries/clientpositive/binary_table_colserde.q index 1f5c98a..b973c7d 100644 --- a/ql/src/test/queries/clientpositive/binary_table_colserde.q +++ b/ql/src/test/queries/clientpositive/binary_table_colserde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ba_test; -- Everything in ba_table1.q + columnar serde in RCFILE. @@ -7,7 +41,7 @@ alter table ba_test set serde 'org.apache.hadoop.hive.serde2.columnar.ColumnarSe describe extended ba_test; -from src insert overwrite table ba_test select cast (src.key as binary), cast (src.value as binary); +from `s/c` insert overwrite table ba_test select cast (`s/c`.key as binary), cast (`s/c`.value as binary); select ba_key, ba_val from ba_test order by ba_key limit 10; diff --git a/ql/src/test/queries/clientpositive/binarysortable_1.q b/ql/src/test/queries/clientpositive/binarysortable_1.q index 39c1d25..de29e2f 100644 --- a/ql/src/test/queries/clientpositive/binarysortable_1.q +++ b/ql/src/test/queries/clientpositive/binarysortable_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE mytable(key STRING, value STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '9' diff --git a/ql/src/test/queries/clientpositive/bool_literal.q b/ql/src/test/queries/clientpositive/bool_literal.q index 480b942..45c7091 100644 --- a/ql/src/test/queries/clientpositive/bool_literal.q +++ b/ql/src/test/queries/clientpositive/bool_literal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS bool_literal; CREATE TABLE bool_literal(key int, value boolean); diff --git a/ql/src/test/queries/clientpositive/bucket1.q b/ql/src/test/queries/clientpositive/bucket1.q index 0154b4e..01c3486 100644 --- a/ql/src/test/queries/clientpositive/bucket1.q +++ b/ql/src/test/queries/clientpositive/bucket1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.exec.reducers.max = 200; @@ -7,9 +41,9 @@ CREATE TABLE bucket1_1(key int, value string) CLUSTERED BY (key) INTO 100 BUCKET explain extended insert overwrite table bucket1_1 -select * from src; +select * from `s/c`; insert overwrite table bucket1_1 -select * from src; +select * from `s/c`; select * from bucket1_1; diff --git a/ql/src/test/queries/clientpositive/bucket2.q b/ql/src/test/queries/clientpositive/bucket2.q index ecd7e53..36b1f02 100644 --- a/ql/src/test/queries/clientpositive/bucket2.q +++ b/ql/src/test/queries/clientpositive/bucket2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.exec.reducers.max = 1; @@ -8,10 +42,10 @@ CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS; explain extended insert overwrite table bucket2_1 -select * from src; +select * from `s/c`; insert overwrite table bucket2_1 -select * from src; +select * from `s/c`; explain select * from bucket2_1 tablesample (bucket 1 out of 2) s; diff --git a/ql/src/test/queries/clientpositive/bucket3.q b/ql/src/test/queries/clientpositive/bucket3.q index 7b7a9c3..eea1038 100644 --- a/ql/src/test/queries/clientpositive/bucket3.q +++ b/ql/src/test/queries/clientpositive/bucket3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing = true; set hive.exec.reducers.max = 1; @@ -8,13 +42,13 @@ CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTER explain extended insert overwrite table bucket3_1 partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table bucket3_1 partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table bucket3_1 partition (ds='2') -select * from src; +select * from `s/c`; explain select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1'; diff --git a/ql/src/test/queries/clientpositive/bucket4.q b/ql/src/test/queries/clientpositive/bucket4.q index 1b49c7a..de278d0 100644 --- a/ql/src/test/queries/clientpositive/bucket4.q +++ b/ql/src/test/queries/clientpositive/bucket4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.enforce.bucketing = true; @@ -8,10 +42,10 @@ CREATE TABLE bucket4_1(key int, value string) CLUSTERED BY (key) SORTED BY (key) explain extended insert overwrite table bucket4_1 -select * from src; +select * from `s/c`; insert overwrite table bucket4_1 -select * from src; +select * from `s/c`; explain select * from bucket4_1 tablesample (bucket 1 out of 2) s; diff --git a/ql/src/test/queries/clientpositive/bucket5.q b/ql/src/test/queries/clientpositive/bucket5.q index 877f8a5..9aeea74 100644 --- a/ql/src/test/queries/clientpositive/bucket5.q +++ b/ql/src/test/queries/clientpositive/bucket5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -13,11 +47,11 @@ CREATE TABLE bucketed_table(key INT, value STRING) CLUSTERED BY (key) SORTED BY CREATE TABLE unbucketed_table(key INT, value STRING); EXPLAIN EXTENDED -FROM src +FROM `s/c` INSERT OVERWRITE TABLE bucketed_table SELECT key, value INSERT OVERWRITE TABLE unbucketed_table SELECT key, value cluster by key; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE bucketed_table SELECT key, value INSERT OVERWRITE TABLE unbucketed_table SELECT key, value cluster by key; diff --git a/ql/src/test/queries/clientpositive/bucket6.q b/ql/src/test/queries/clientpositive/bucket6.q index fb55787..fe1ec18 100644 --- a/ql/src/test/queries/clientpositive/bucket6.q +++ b/ql/src/test/queries/clientpositive/bucket6.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE src_bucket(key STRING, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; set hive.enforce.sorting = true; set hive.enforce.bucketing = true; explain -insert into table src_bucket select key,value from srcpart; -insert into table src_bucket select key,value from srcpart; +insert into table src_bucket select key,value from `s/cpart`; +insert into table src_bucket select key,value from `s/cpart`; select * from src_bucket limit 100; diff --git a/ql/src/test/queries/clientpositive/bucket_groupby.q b/ql/src/test/queries/clientpositive/bucket_groupby.q index a531ba7..58bb70c 100644 --- a/ql/src/test/queries/clientpositive/bucket_groupby.q +++ b/ql/src/test/queries/clientpositive/bucket_groupby.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table clustergroupby(key string, value string) partitioned by(ds string); describe extended clustergroupby; alter table clustergroupby clustered by (key) into 1 buckets; -insert overwrite table clustergroupby partition (ds='100') select key, value from src sort by key; +insert overwrite table clustergroupby partition (ds='100') select key, value from `s/c` sort by key; explain select key, count(1) from clustergroupby where ds='100' group by key limit 10; select key, count(1) from clustergroupby where ds='100' group by key limit 10; describe extended clustergroupby; -insert overwrite table clustergroupby partition (ds='101') select key, value from src distribute by key; +insert overwrite table clustergroupby partition (ds='101') select key, value from `s/c` distribute by key; --normal-- explain @@ -48,7 +82,7 @@ create table clustergroupby(key string, value string) partitioned by(ds string); --sort columns-- alter table clustergroupby clustered by (value) sorted by (key, value) into 1 buckets; describe extended clustergroupby; -insert overwrite table clustergroupby partition (ds='102') select key, value from src distribute by value sort by key, value; +insert overwrite table clustergroupby partition (ds='102') select key, value from `s/c` distribute by value sort by key, value; explain select key, count(1) from clustergroupby where ds='102' group by key limit 10; @@ -66,7 +100,7 @@ create table clustergroupby(key string, value string) partitioned by(ds string); alter table clustergroupby clustered by (value, key) sorted by (key) into 1 buckets; describe extended clustergroupby; -insert overwrite table clustergroupby partition (ds='103') select key, value from src distribute by value, key sort by key; +insert overwrite table clustergroupby partition (ds='103') select key, value from `s/c` distribute by value, key sort by key; explain select key, count(1) from clustergroupby where ds='103' group by key limit 10; select key, count(1) from clustergroupby where ds='103' group by key limit 10; diff --git a/ql/src/test/queries/clientpositive/bucket_if_with_path_filter.q b/ql/src/test/queries/clientpositive/bucket_if_with_path_filter.q index 956a61f..21f7cb0 100644 --- a/ql/src/test/queries/clientpositive/bucket_if_with_path_filter.q +++ b/ql/src/test/queries/clientpositive/bucket_if_with_path_filter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/bmjpathfilter; create table t1 (dt string) location '${system:test.tmp.dir}/bmjpathfilter/t1'; diff --git a/ql/src/test/queries/clientpositive/bucket_many.q b/ql/src/test/queries/clientpositive/bucket_many.q index 1f0b795..e7564d7 100644 --- a/ql/src/test/queries/clientpositive/bucket_many.q +++ b/ql/src/test/queries/clientpositive/bucket_many.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set mapred.reduce.tasks = 16; @@ -5,10 +39,10 @@ create table bucket_many(key int, value string) clustered by (key) into 256 buck explain extended insert overwrite table bucket_many -select * from src; +select * from `s/c`; insert overwrite table bucket_many -select * from src; +select * from `s/c`; explain select * from bucket_many tablesample (bucket 1 out of 256) s; diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_1.q b/ql/src/test/queries/clientpositive/bucket_map_join_1.q index 6bdb09e..64154c2 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_1.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table1; drop table table2; diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_2.q b/ql/src/test/queries/clientpositive/bucket_map_join_2.q index 07f6d15..8886426 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_2.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table1; drop table table2; diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_spark1.q b/ql/src/test/queries/clientpositive/bucket_map_join_spark1.q index fed7db7..3998c7c 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_spark1.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_spark1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_spark2.q b/ql/src/test/queries/clientpositive/bucket_map_join_spark2.q index a4015fe..5bf77f2 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_spark2.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_spark2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_spark3.q b/ql/src/test/queries/clientpositive/bucket_map_join_spark3.q index e4a6e4a..004cba6 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_spark3.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_spark3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); load data local inpath '../../data/files/srcbucket23.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_spark4.q b/ql/src/test/queries/clientpositive/bucket_map_join_spark4.q index 1ca20e4..424f9d9 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_spark4.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_spark4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -9,13 +43,13 @@ CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl3(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl3 -select * from src where key < 10; +select * from `s/c` where key < 10; set hive.enforce.bucketing = false; set hive.enforce.sorting = false; diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q b/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q index 8546e78..1eb987d 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_tez2.q b/ql/src/test/queries/clientpositive/bucket_map_join_tez2.q index 2f968bd..1e6252e 100644 --- a/ql/src/test/queries/clientpositive/bucket_map_join_tez2.q +++ b/ql/src/test/queries/clientpositive/bucket_map_join_tez2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; @@ -35,7 +69,7 @@ select key,value from srcbucket_mapjoin; explain select a.key, a.value, b.value -from tab1 a join src b on a.key = b.key; +from tab1 a join `s/c` b on a.key = b.key; explain select a.key, b.key from (select key from tab_part where key > 1) a join (select key from tab_part where key > 2) b on a.key = b.key; diff --git a/ql/src/test/queries/clientpositive/bucket_num_reducers.q b/ql/src/test/queries/clientpositive/bucket_num_reducers.q index 37ae6cc..f48fd3f 100644 --- a/ql/src/test/queries/clientpositive/bucket_num_reducers.q +++ b/ql/src/test/queries/clientpositive/bucket_num_reducers.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.exec.mode.local.auto=false; set mapred.reduce.tasks = 10; @@ -10,7 +44,7 @@ set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyNumReducersHook; set VerifyNumReducersHook.num.reducers=10; insert overwrite table bucket_nr -select * from src; +select * from `s/c`; set hive.exec.post.hooks=; drop table bucket_nr; diff --git a/ql/src/test/queries/clientpositive/bucket_num_reducers2.q b/ql/src/test/queries/clientpositive/bucket_num_reducers2.q index 8c64d60..a5da2f1 100644 --- a/ql/src/test/queries/clientpositive/bucket_num_reducers2.q +++ b/ql/src/test/queries/clientpositive/bucket_num_reducers2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.exec.mode.local.auto=false; set hive.exec.reducers.max = 2; @@ -10,4 +44,4 @@ set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyNumReducersHook; set VerifyNumReducersHook.num.reducers=1; insert overwrite table test_table -select * from src; +select * from `s/c`; diff --git a/ql/src/test/queries/clientpositive/bucketcontext_1.q b/ql/src/test/queries/clientpositive/bucketcontext_1.q index 047a2a5..0d33b32 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_1.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 2 bucket & big 2 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketcontext_2.q b/ql/src/test/queries/clientpositive/bucketcontext_2.q index d58e844..47b9ee4 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_2.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 1 part, 4 bucket & big 2 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketcontext_3.q b/ql/src/test/queries/clientpositive/bucketcontext_3.q index fd80174..b7bd826 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_3.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 2 bucket & big 1 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketcontext_4.q b/ql/src/test/queries/clientpositive/bucketcontext_4.q index 5d21ea5..060a165 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_4.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 4 bucket & big 1 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketcontext_5.q b/ql/src/test/queries/clientpositive/bucketcontext_5.q index 5078072..e7d8f4c 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_5.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small no part, 4 bucket & big no part, 2 bucket CREATE TABLE bucket_small (key string, value string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small; diff --git a/ql/src/test/queries/clientpositive/bucketcontext_6.q b/ql/src/test/queries/clientpositive/bucketcontext_6.q index 0f7c72f..b723e6f 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_6.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small no part, 4 bucket & big 2 part, 2 bucket CREATE TABLE bucket_small (key string, value string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small; diff --git a/ql/src/test/queries/clientpositive/bucketcontext_7.q b/ql/src/test/queries/clientpositive/bucketcontext_7.q index c528f61..b659f38 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_7.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 4 bucket & big 2 part, 2 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketcontext_8.q b/ql/src/test/queries/clientpositive/bucketcontext_8.q index 27c55a3..459b43b 100644 --- a/ql/src/test/queries/clientpositive/bucketcontext_8.q +++ b/ql/src/test/queries/clientpositive/bucketcontext_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- small 2 part, 2 bucket & big 2 part, 4 bucket CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketizedhiveinputformat.q b/ql/src/test/queries/clientpositive/bucketizedhiveinputformat.q index 755eb06..283bcc8 100644 --- a/ql/src/test/queries/clientpositive/bucketizedhiveinputformat.q +++ b/ql/src/test/queries/clientpositive/bucketizedhiveinputformat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.max.split.size = 32000000; CREATE TABLE T1(name STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/bucketizedhiveinputformat_auto.q b/ql/src/test/queries/clientpositive/bucketizedhiveinputformat_auto.q index 8b7535d..4998fa6 100644 --- a/ql/src/test/queries/clientpositive/bucketizedhiveinputformat_auto.q +++ b/ql/src/test/queries/clientpositive/bucketizedhiveinputformat_auto.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE bucket_small (key string, value string) partitioned by (ds string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcsortbucket1outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); load data local inpath '../../data/files/srcsortbucket2outof4.txt' INTO TABLE bucket_small partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin1.q b/ql/src/test/queries/clientpositive/bucketmapjoin1.q index 204e759..52b9fbd 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin1.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin10.q b/ql/src/test/queries/clientpositive/bucketmapjoin10.q index 09c0ae2..5f23309 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin10.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin11.q b/ql/src/test/queries/clientpositive/bucketmapjoin11.q index d330b77..c925737 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin11.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin12.q b/ql/src/test/queries/clientpositive/bucketmapjoin12.q index 43a9de4..1da3006 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin12.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin13.q b/ql/src/test/queries/clientpositive/bucketmapjoin13.q index f01c43e..25d35f7 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin13.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max=1; @@ -7,20 +41,20 @@ CLUSTERED BY (value) INTO 2 BUCKETS; -- part=1 partition for srcbucket_mapjoin_part_1 is bucketed by 'value' INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') -SELECT * FROM src; +SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_1 CLUSTERED BY (key) INTO 2 BUCKETS; -- part=2 partition for srcbucket_mapjoin_part_1 is bucketed by 'key' INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='2') -SELECT * FROM src; +SELECT * FROM `s/c`; CREATE TABLE srcbucket_mapjoin_part_2 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key) INTO 2 BUCKETS; -- part=1 partition for srcbucket_mapjoin_part_2 is bucketed by 'key' INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') -SELECT * FROM src; +SELECT * FROM `s/c`; set hive.optimize.bucketmapjoin=true; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin2.q b/ql/src/test/queries/clientpositive/bucketmapjoin2.q index 108b67a..bb3ae0a 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin2.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin3.q b/ql/src/test/queries/clientpositive/bucketmapjoin3.q index 78c23d5..3608d48 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin3.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin; load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin4.q b/ql/src/test/queries/clientpositive/bucketmapjoin4.q index 54626e7..2e715e1 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin4.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin5.q b/ql/src/test/queries/clientpositive/bucketmapjoin5.q index 72cffc2..151ffaf 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin5.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin; load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin6.q b/ql/src/test/queries/clientpositive/bucketmapjoin6.q index a0ef371..051cebe 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin6.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- SORT_QUERY_RESULTS @@ -12,8 +46,8 @@ set hive.enforce.sorting = true; set hive.exec.reducers.max=1; -insert overwrite table tmp1 select * from src where key < 50; -insert overwrite table tmp2 select * from src where key < 50; +insert overwrite table tmp1 select * from `s/c` where key < 50; +insert overwrite table tmp2 select * from `s/c` where key < 50; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin7.q b/ql/src/test/queries/clientpositive/bucketmapjoin7.q index cd4efe7..9ecd318 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin7.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (ds STRING, hr STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin8.q b/ql/src/test/queries/clientpositive/bucketmapjoin8.q index f467ea6..96e1bb9 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin8.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin9.q b/ql/src/test/queries/clientpositive/bucketmapjoin9.q index f1d5f58..29e31ad 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin9.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin_negative.q b/ql/src/test/queries/clientpositive/bucketmapjoin_negative.q index ea140dd..25b455c 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin_negative.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin_negative.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin_negative2.q b/ql/src/test/queries/clientpositive/bucketmapjoin_negative2.q index e2c0d8c..c36fdab 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin_negative2.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin_negative2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE srcbucket_mapjoin(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin; load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcbucket_mapjoin; diff --git a/ql/src/test/queries/clientpositive/bucketmapjoin_negative3.q b/ql/src/test/queries/clientpositive/bucketmapjoin_negative3.q index 6398fff..18eb568 100644 --- a/ql/src/test/queries/clientpositive/bucketmapjoin_negative3.q +++ b/ql/src/test/queries/clientpositive/bucketmapjoin_negative3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table test1; drop table test2; drop table test3; diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_1.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_1.q index 8cc308f..33db9d6 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_1.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -14,7 +48,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_2.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_2.q index 9ecd2c4..61ff7de 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_2.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,16 +53,16 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * where key < 100; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '2') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '2') SELECT * where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_3.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_3.q index 91e97de..a8bd768 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_3.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -14,7 +48,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (value STRING, key INT) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_4.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_4.q index 623b22b..30dc29a 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_4.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,10 +53,10 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, key2 INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key2) SORTED BY (key2) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_5.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_5.q index 205a450..16d10f3 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_5.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,10 +53,10 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key desc) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_6.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_6.q index a4e84f8..8c232a0 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_6.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,10 +53,10 @@ CLUSTERED BY (key, key2) SORTED BY (key ASC, key2 DESC) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, key2 INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key, key2) SORTED BY (key ASC, key2 DESC) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT key, key+1, value where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT key, key+1, value where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_7.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_7.q index f597884..bb0f1f3 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_7.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,10 +53,10 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_8.q b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_8.q index 95a9a64..73cf007 100644 --- a/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_8.q +++ b/ql/src/test/queries/clientpositive/bucketsortoptimize_insert_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.sortmerge.join=true; set hive.optimize.bucketmapjoin = true; @@ -19,10 +53,10 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table3 (key INT, key2 INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * where key < 10; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * where key < 100; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/case_sensitivity.q b/ql/src/test/queries/clientpositive/case_sensitivity.q index a4b73f0..41740d5 100644 --- a/ql/src/test/queries/clientpositive/case_sensitivity.q +++ b/ql/src/test/queries/clientpositive/case_sensitivity.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE DEST1(Key INT, VALUE STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/cast1.q b/ql/src/test/queries/clientpositive/cast1.q index 7f5f8a5..8b40598 100644 --- a/ql/src/test/queries/clientpositive/cast1.q +++ b/ql/src/test/queries/clientpositive/cast1.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 INT, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 INT, c6 STRING, c7 INT) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT 3 + 2, 3.0 + 2, 3 + 2.0, 3.0 + 2.0, 3 + CAST(2.0 AS INT) + CAST(CAST(0 AS SMALLINT) AS INT), CAST(1 AS BOOLEAN), CAST(TRUE AS INT) WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT 3 + 2, 3.0 + 2, 3 + 2.0, 3.0 + 2.0, 3 + CAST(2.0 AS INT) + CAST(CAST(0 AS SMALLINT) AS INT), CAST(1 AS BOOLEAN), CAST(TRUE AS INT) WHERE `s/c`.key = 86; -FROM src INSERT OVERWRITE TABLE dest1 SELECT 3 + 2, 3.0 + 2, 3 + 2.0, 3.0 + 2.0, 3 + CAST(2.0 AS INT) + CAST(CAST(0 AS SMALLINT) AS INT), CAST(1 AS BOOLEAN), CAST(TRUE AS INT) WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT 3 + 2, 3.0 + 2, 3 + 2.0, 3.0 + 2.0, 3 + CAST(2.0 AS INT) + CAST(CAST(0 AS SMALLINT) AS INT), CAST(1 AS BOOLEAN), CAST(TRUE AS INT) WHERE `s/c`.key = 86; select dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/cast_qualified_types.q b/ql/src/test/queries/clientpositive/cast_qualified_types.q index fe0abd4..5367986 100644 --- a/ql/src/test/queries/clientpositive/cast_qualified_types.q +++ b/ql/src/test/queries/clientpositive/cast_qualified_types.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.plan.serialization.format=javaXML; select cast(key as decimal(10,2)) as c1, cast(key as char(10)) as c2, cast(key as varchar(10)) as c3 -from src +from `s/c` order by c1, c2, c3 limit 1; diff --git a/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q index 59c5e89..d688e14 100644 --- a/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q +++ b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table t; CREATE TABLE t(c tinyint); -insert overwrite table t select 10 from src limit 1; +insert overwrite table t select 10 from `s/c` limit 1; select * from t where c = 10.0; diff --git a/ql/src/test/queries/clientpositive/cast_to_int.q b/ql/src/test/queries/clientpositive/cast_to_int.q index b1551f2..0e79d76 100644 --- a/ql/src/test/queries/clientpositive/cast_to_int.q +++ b/ql/src/test/queries/clientpositive/cast_to_int.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- cast string floats to integer types @@ -29,4 +63,4 @@ select cast('127' as tinyint), cast('1.0a' as int), cast('-1.-1' as int) -from src tablesample (1 rows); +from `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/cbo_gby.q b/ql/src/test/queries/clientpositive/cbo_gby.q index 73c8c6a..fb2bc9a 100644 --- a/ql/src/test/queries/clientpositive/cbo_gby.q +++ b/ql/src/test/queries/clientpositive/cbo_gby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_gby_empty.q b/ql/src/test/queries/clientpositive/cbo_gby_empty.q index cd264ed..8573873 100644 --- a/ql/src/test/queries/clientpositive/cbo_gby_empty.q +++ b/ql/src/test/queries/clientpositive/cbo_gby_empty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; @@ -5,9 +39,9 @@ set hive.stats.fetch.column.stats=true; set hive.auto.convert.join=false; -- 21. Test groupby is empty and there is no other cols in aggr -select unionsrc.key FROM (select 'tst1' as key, count(1) as value from src) unionsrc; +select unionsrc.key FROM (select 'tst1' as key, count(1) as value from `s/c`) unionsrc; -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src) unionsrc; +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c`) unionsrc; select unionsrc.key FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1 UNION ALL diff --git a/ql/src/test/queries/clientpositive/cbo_join.q b/ql/src/test/queries/clientpositive/cbo_join.q index 513272f..7708aab 100644 --- a/ql/src/test/queries/clientpositive/cbo_join.q +++ b/ql/src/test/queries/clientpositive/cbo_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_limit.q b/ql/src/test/queries/clientpositive/cbo_limit.q index cb349bb..072446e 100644 --- a/ql/src/test/queries/clientpositive/cbo_limit.q +++ b/ql/src/test/queries/clientpositive/cbo_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_auto_join0.q b/ql/src/test/queries/clientpositive/cbo_rp_auto_join0.q index f8511b1..f668b9e 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_auto_join0.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_auto_join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.returnpath.hiveop=true; set hive.stats.fetch.column.stats=true; set hive.auto.convert.join = true; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q b/ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q index 096ae10..b983cd1 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_auto_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.returnpath.hiveop=true; set hive.stats.fetch.column.stats=true; set hive.enforce.bucketing = true; @@ -10,10 +44,10 @@ CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; analyze table tbl1 compute statistics; analyze table tbl1 compute statistics for columns; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_gby.q b/ql/src/test/queries/clientpositive/cbo_rp_gby.q index fe2c96e..c7c82eb 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_gby.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_gby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_gby_empty.q b/ql/src/test/queries/clientpositive/cbo_rp_gby_empty.q index 375129a..f944668 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_gby_empty.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_gby_empty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; @@ -6,9 +40,9 @@ set hive.stats.fetch.column.stats=true; set hive.auto.convert.join=false; -- 21. Test groupby is empty and there is no other cols in aggr -select unionsrc.key FROM (select 'tst1' as key, count(1) as value from src) unionsrc; +select unionsrc.key FROM (select 'tst1' as key, count(1) as value from `s/c`) unionsrc; -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src) unionsrc; +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c`) unionsrc; select unionsrc.key FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1 UNION ALL diff --git a/ql/src/test/queries/clientpositive/cbo_rp_insert.q b/ql/src/test/queries/clientpositive/cbo_rp_insert.q index eeaeec2..27f02ea 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_insert.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_join.q b/ql/src/test/queries/clientpositive/cbo_rp_join.q index 367e67f..def305a 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_join.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_join0.q b/ql/src/test/queries/clientpositive/cbo_rp_join0.q index 3e3a013..94f4513 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_join0.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_join1.q b/ql/src/test/queries/clientpositive/cbo_rp_join1.q index ce6abe4..b41d739 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_join1.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; CREATE TABLE myinput1(key int, value int); diff --git a/ql/src/test/queries/clientpositive/cbo_rp_limit.q b/ql/src/test/queries/clientpositive/cbo_rp_limit.q index 24f8b5b..b355f8a 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_limit.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_outer_join_ppr.q b/ql/src/test/queries/clientpositive/cbo_rp_outer_join_ppr.q index 8daf718..754376b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_outer_join_ppr.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_outer_join_ppr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.optimize.ppd=true; @@ -7,34 +41,34 @@ set hive.optimize.ppd=true; EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_semijoin.q b/ql/src/test/queries/clientpositive/cbo_rp_semijoin.q index 4b376d9..eeee75b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_semijoin.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_semijoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_simple_select.q b/ql/src/test/queries/clientpositive/cbo_rp_simple_select.q index a2ac678..ac45f88 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_simple_select.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_simple_select.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_stats.q b/ql/src/test/queries/clientpositive/cbo_rp_stats.q index f8cf329..254245b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_stats.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_subq_exists.q b/ql/src/test/queries/clientpositive/cbo_rp_subq_exists.q index 151ebe0..40fcf3b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_subq_exists.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_subq_exists.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_subq_in.q b/ql/src/test/queries/clientpositive/cbo_rp_subq_in.q index 19c2943..97750a7 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_subq_in.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_subq_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_subq_not_in.q b/ql/src/test/queries/clientpositive/cbo_rp_subq_not_in.q index ad2cc67..2442b5b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_subq_not_in.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_subq_not_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_udf_udaf.q b/ql/src/test/queries/clientpositive/cbo_rp_udf_udaf.q index c057105..585d90c 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_udf_udaf.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_udf_udaf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_union.q b/ql/src/test/queries/clientpositive/cbo_rp_union.q index a6915f9..cc2238b 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_union.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_union.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_views.q b/ql/src/test/queries/clientpositive/cbo_rp_views.q index b93f8d8..4f7e0ea 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_views.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_views.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_windowing.q b/ql/src/test/queries/clientpositive/cbo_rp_windowing.q index 95da904..29e82df 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_windowing.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_windowing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q b/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q index d02c8be..e94332e 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.cbo.returnpath.hiveop=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_semijoin.q b/ql/src/test/queries/clientpositive/cbo_semijoin.q index 5e5197b..b47ba7d 100644 --- a/ql/src/test/queries/clientpositive/cbo_semijoin.q +++ b/ql/src/test/queries/clientpositive/cbo_semijoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_simple_select.q b/ql/src/test/queries/clientpositive/cbo_simple_select.q index 92c0e72..8780864 100644 --- a/ql/src/test/queries/clientpositive/cbo_simple_select.q +++ b/ql/src/test/queries/clientpositive/cbo_simple_select.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_stats.q b/ql/src/test/queries/clientpositive/cbo_stats.q index 8f28c37..6a567a5 100644 --- a/ql/src/test/queries/clientpositive/cbo_stats.q +++ b/ql/src/test/queries/clientpositive/cbo_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_subq_exists.q b/ql/src/test/queries/clientpositive/cbo_subq_exists.q index 66f89ab..f489019 100644 --- a/ql/src/test/queries/clientpositive/cbo_subq_exists.q +++ b/ql/src/test/queries/clientpositive/cbo_subq_exists.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_subq_in.q b/ql/src/test/queries/clientpositive/cbo_subq_in.q index 0a25b9c..2b92fa8 100644 --- a/ql/src/test/queries/clientpositive/cbo_subq_in.q +++ b/ql/src/test/queries/clientpositive/cbo_subq_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_subq_not_in.q b/ql/src/test/queries/clientpositive/cbo_subq_not_in.q index 735eff4..1c6fafc 100644 --- a/ql/src/test/queries/clientpositive/cbo_subq_not_in.q +++ b/ql/src/test/queries/clientpositive/cbo_subq_not_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_udf_udaf.q b/ql/src/test/queries/clientpositive/cbo_udf_udaf.q index 16d9bb9..8d6035e 100644 --- a/ql/src/test/queries/clientpositive/cbo_udf_udaf.q +++ b/ql/src/test/queries/clientpositive/cbo_udf_udaf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_union.q b/ql/src/test/queries/clientpositive/cbo_union.q index 312d7be..b25311e 100644 --- a/ql/src/test/queries/clientpositive/cbo_union.q +++ b/ql/src/test/queries/clientpositive/cbo_union.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_views.q b/ql/src/test/queries/clientpositive/cbo_views.q index 1867d2a..74133a9 100644 --- a/ql/src/test/queries/clientpositive/cbo_views.q +++ b/ql/src/test/queries/clientpositive/cbo_views.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/cbo_windowing.q b/ql/src/test/queries/clientpositive/cbo_windowing.q index 030deb0..fd1473a 100644 --- a/ql/src/test/queries/clientpositive/cbo_windowing.q +++ b/ql/src/test/queries/clientpositive/cbo_windowing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; set hive.exec.check.crossproducts=false; diff --git a/ql/src/test/queries/clientpositive/char_1.q b/ql/src/test/queries/clientpositive/char_1.q index e617a49..6d57855 100644 --- a/ql/src/test/queries/clientpositive/char_1.q +++ b/ql/src/test/queries/clientpositive/char_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table char1; @@ -12,12 +46,12 @@ select * from char1 order by key, value limit 2; -- insert overwrite, from same/different length char insert overwrite table char1 - select cast(key as char(10)), cast(value as char(15)) from src order by key, value limit 2; + select cast(key as char(10)), cast(value as char(15)) from `s/c` order by key, value limit 2; select key, value from char1; -- insert overwrite, from string insert overwrite table char1 - select key, value from src order by key, value limit 2; + select key, value from `s/c` order by key, value limit 2; select key, value from char1; -- insert string from char @@ -27,7 +61,7 @@ select key, value from char1_1; -- respect string length insert overwrite table char1 - select key, cast(value as char(3)) from src order by key, value limit 2; + select key, cast(value as char(3)) from `s/c` order by key, value limit 2; select key, value from char1; drop table char1; diff --git a/ql/src/test/queries/clientpositive/char_2.q b/ql/src/test/queries/clientpositive/char_2.q index 3e4900c..8865219 100644 --- a/ql/src/test/queries/clientpositive/char_2.q +++ b/ql/src/test/queries/clientpositive/char_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table char_2; create table char_2 ( @@ -5,15 +39,15 @@ create table char_2 ( value char(20) ); -insert overwrite table char_2 select * from src; +insert overwrite table char_2 select * from `s/c`; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value asc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from char_2 group by value @@ -21,12 +55,12 @@ order by value asc limit 5; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value desc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from char_2 group by value diff --git a/ql/src/test/queries/clientpositive/char_cast.q b/ql/src/test/queries/clientpositive/char_cast.q index 7f44d4d..bb69e81 100644 --- a/ql/src/test/queries/clientpositive/char_cast.q +++ b/ql/src/test/queries/clientpositive/char_cast.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Cast from char to other data types select @@ -8,7 +42,7 @@ select cast(cast('11.00' as string) as float), cast(cast('11.00' as string) as double), cast(cast('11.00' as string) as decimal) -from src limit 1; +from `s/c` limit 1; select cast(cast('11' as char(10)) as tinyint), @@ -18,36 +52,36 @@ select cast(cast('11.00' as char(10)) as float), cast(cast('11.00' as char(10)) as double), cast(cast('11.00' as char(10)) as decimal) -from src limit 1; +from `s/c` limit 1; select cast(cast('2011-01-01' as string) as date), cast(cast('2011-01-01 01:02:03' as string) as timestamp) -from src limit 1; +from `s/c` limit 1; select cast(cast('2011-01-01' as char(10)) as date), cast(cast('2011-01-01 01:02:03' as char(30)) as timestamp) -from src limit 1; +from `s/c` limit 1; -- no tests from string/char to boolean, that conversion doesn't look useful select cast(cast('abc123' as string) as string), cast(cast('abc123' as string) as varchar(10)), cast(cast('abc123' as string) as char(10)) -from src limit 1; +from `s/c` limit 1; select cast(cast('abc123' as char(10)) as string), cast(cast('abc123' as char(10)) as varchar(10)), cast(cast('abc123' as char(10)) as char(10)) -from src limit 1; +from `s/c` limit 1; select cast(cast('abc123' as varchar(10)) as string), cast(cast('abc123' as varchar(10)) as varchar(10)), cast(cast('abc123' as varchar(10)) as char(10)) -from src limit 1; +from `s/c` limit 1; -- cast from other types to char select @@ -58,7 +92,7 @@ select cast(cast(11.00 as float) as string), cast(cast(11.00 as double) as string), cast(cast(11.00 as decimal) as string) -from src limit 1; +from `s/c` limit 1; select cast(cast(11 as tinyint) as char(10)), @@ -68,25 +102,25 @@ select cast(cast(11.00 as float) as char(10)), cast(cast(11.00 as double) as char(10)), cast(cast(11.00 as decimal) as char(10)) -from src limit 1; +from `s/c` limit 1; select cast(date '2011-01-01' as string), cast(timestamp('2011-01-01 01:02:03') as string) -from src limit 1; +from `s/c` limit 1; select cast(date '2011-01-01' as char(10)), cast(timestamp('2011-01-01 01:02:03') as char(30)) -from src limit 1; +from `s/c` limit 1; select cast(true as string), cast(false as string) -from src limit 1; +from `s/c` limit 1; select cast(true as char(10)), cast(false as char(10)) -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/char_comparison.q b/ql/src/test/queries/clientpositive/char_comparison.q index e1cfdb2..543aa75 100644 --- a/ql/src/test/queries/clientpositive/char_comparison.q +++ b/ql/src/test/queries/clientpositive/char_comparison.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Should all be true select @@ -7,7 +41,7 @@ select cast('abc' as char(10)) < cast('abd' as char(10)), cast('abc' as char(10)) > cast('abb' as char(10)), cast('abc' as char(10)) <> cast('abb' as char(10)) -from src limit 1; +from `s/c` limit 1; -- Different char lengths should still compare the same select @@ -17,7 +51,7 @@ select cast('abc' as char(10)) < cast('abd' as char(3)), cast('abc' as char(10)) > cast('abb' as char(3)), cast('abc' as char(10)) <> cast('abb' as char(3)) -from src limit 1; +from `s/c` limit 1; -- Should work with string types as well select @@ -27,14 +61,14 @@ select cast('abc' as char(10)) < 'abd', cast('abc' as char(10)) > 'abb', cast('abc' as char(10)) <> 'abb' -from src limit 1; +from `s/c` limit 1; -- leading space is significant for char select cast(' abc' as char(10)) <> cast('abc' as char(10)) -from src limit 1; +from `s/c` limit 1; -- trailing space is not significant for char select cast('abc ' as char(10)) = cast('abc' as char(10)) -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/char_join1.q b/ql/src/test/queries/clientpositive/char_join1.q index b8699e3..446f581 100644 --- a/ql/src/test/queries/clientpositive/char_join1.q +++ b/ql/src/test/queries/clientpositive/char_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table char_join1_ch1; diff --git a/ql/src/test/queries/clientpositive/char_nested_types.q b/ql/src/test/queries/clientpositive/char_nested_types.q index c710b6c..94e9476 100644 --- a/ql/src/test/queries/clientpositive/char_nested_types.q +++ b/ql/src/test/queries/clientpositive/char_nested_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table char_nested_1; drop table char_nested_array; drop table char_nested_map; @@ -7,7 +41,7 @@ drop table char_nested_view; create table char_nested_1 (key int, value char(20)); insert overwrite table char_nested_1 - select key, value from src order by key limit 1; + select key, value from `s/c` order by key limit 1; -- arrays create table char_nested_array (c1 array); diff --git a/ql/src/test/queries/clientpositive/char_pad_convert.q b/ql/src/test/queries/clientpositive/char_pad_convert.q index dad7d15..644ddc3 100644 --- a/ql/src/test/queries/clientpositive/char_pad_convert.q +++ b/ql/src/test/queries/clientpositive/char_pad_convert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table over1k( t tinyint, diff --git a/ql/src/test/queries/clientpositive/char_serde.q b/ql/src/test/queries/clientpositive/char_serde.q index 4340b4d..c03706a 100644 --- a/ql/src/test/queries/clientpositive/char_serde.q +++ b/ql/src/test/queries/clientpositive/char_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists char_serde_regex; drop table if exists char_serde_lb; drop table if exists char_serde_ls; diff --git a/ql/src/test/queries/clientpositive/char_udf1.q b/ql/src/test/queries/clientpositive/char_udf1.q index 09012b4..fc3048b 100644 --- a/ql/src/test/queries/clientpositive/char_udf1.q +++ b/ql/src/test/queries/clientpositive/char_udf1.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table char_udf_1; create table char_udf_1 (c1 string, c2 string, c3 char(10), c4 char(20)); insert overwrite table char_udf_1 - select key, value, key, value from src where key = '238' limit 1; + select key, value, key, value from `s/c` where key = '238' limit 1; -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/char_union1.q b/ql/src/test/queries/clientpositive/char_union1.q index 2ce5e89..bd81587 100644 --- a/ql/src/test/queries/clientpositive/char_union1.q +++ b/ql/src/test/queries/clientpositive/char_union1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table char_union1_ch1; drop table char_union1_ch2; drop table char_union1_str; diff --git a/ql/src/test/queries/clientpositive/char_varchar_udf.q b/ql/src/test/queries/clientpositive/char_varchar_udf.q index 332b840..e26926a 100644 --- a/ql/src/test/queries/clientpositive/char_varchar_udf.q +++ b/ql/src/test/queries/clientpositive/char_varchar_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS char_varchar_udf; CREATE TABLE char_varchar_udf (c char(8), vc varchar(10)) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; diff --git a/ql/src/test/queries/clientpositive/cluster.q b/ql/src/test/queries/clientpositive/cluster.q index 2481970..da1d9fb 100644 --- a/ql/src/test/queries/clientpositive/cluster.q +++ b/ql/src/test/queries/clientpositive/cluster.q @@ -1,65 +1,99 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; EXPLAIN -SELECT * FROM SRC x where x.key = 20 CLUSTER BY key ; -SELECT * FROM SRC x where x.key = 20 CLUSTER BY key ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY key ; +SELECT * FROM `s/c` x where x.key = 20 CLUSTER BY key ; EXPLAIN -SELECT x.* FROM SRC x where x.key = 20 CLUSTER BY key; -SELECT x.* FROM SRC x where x.key = 20 CLUSTER BY key; +SELECT x.* FROM `s/c` x where x.key = 20 CLUSTER BY key; +SELECT x.* FROM `s/c` x where x.key = 20 CLUSTER BY key; EXPLAIN -SELECT x.* FROM SRC x where x.key = 20 CLUSTER BY x.key; -SELECT x.* FROM SRC x where x.key = 20 CLUSTER BY x.key; +SELECT x.* FROM `s/c` x where x.key = 20 CLUSTER BY x.key; +SELECT x.* FROM `s/c` x where x.key = 20 CLUSTER BY x.key; EXPLAIN -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY key ; -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY key ; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY key ; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY key ; EXPLAIN -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY x.key; -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY x.key; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY x.key; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY x.key; EXPLAIN -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY v1; -SELECT x.key, x.value as v1 FROM SRC x where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1 FROM `s/c` x where x.key = 20 CLUSTER BY v1; EXPLAIN -SELECT y.* from (SELECT x.* FROM SRC x CLUSTER BY x.key) y where y.key = 20; -SELECT y.* from (SELECT x.* FROM SRC x CLUSTER BY x.key) y where y.key = 20; +SELECT y.* from (SELECT x.* FROM `s/c` x CLUSTER BY x.key) y where y.key = 20; +SELECT y.* from (SELECT x.* FROM `s/c` x CLUSTER BY x.key) y where y.key = 20; EXPLAIN -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; EXPLAIN -SELECT x.key, x.value as v1, y.* FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; -SELECT x.key, x.value as v1, y.* FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.* FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.* FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; EXPLAIN -SELECT x.key, x.value as v1, y.* FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY x.key ; -SELECT x.key, x.value as v1, y.* FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY x.key ; +SELECT x.key, x.value as v1, y.* FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY x.key ; +SELECT x.key, x.value as v1, y.* FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY x.key ; EXPLAIN -SELECT x.key, x.value as v1, y.key as yk FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY key ; -SELECT x.key, x.value as v1, y.key as yk FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY key ; +SELECT x.key, x.value as v1, y.key as yk FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY key ; +SELECT x.key, x.value as v1, y.key as yk FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY key ; EXPLAIN SELECT unioninput.* FROM ( - FROM src select src.key, src.value WHERE src.key < 100 + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 UNION ALL - FROM src SELECT src.* WHERE src.key > 100 + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > 100 ) unioninput CLUSTER BY unioninput.key; SELECT unioninput.* FROM ( - FROM src select src.key, src.value WHERE src.key < 100 + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 UNION ALL - FROM src SELECT src.* WHERE src.key > 100 + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > 100 ) unioninput CLUSTER BY unioninput.key; diff --git a/ql/src/test/queries/clientpositive/colstats_all_nulls.q b/ql/src/test/queries/clientpositive/colstats_all_nulls.q index c060ace..5f57fb9 100644 --- a/ql/src/test/queries/clientpositive/colstats_all_nulls.q +++ b/ql/src/test/queries/clientpositive/colstats_all_nulls.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE src_null(a bigint) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/nulls.txt' INTO TABLE src_null; diff --git a/ql/src/test/queries/clientpositive/column_access_stats.q b/ql/src/test/queries/clientpositive/column_access_stats.q index d559e7d..a68a2cf 100644 --- a/ql/src/test/queries/clientpositive/column_access_stats.q +++ b/ql/src/test/queries/clientpositive/column_access_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.CheckColumnAccessHook; SET hive.stats.collect.scancols=true; @@ -152,6 +186,6 @@ JOIN T3 ON T3.key = T4.key; -- for partitioned table -SELECT * FROM srcpart TABLESAMPLE (10 ROWS); -SELECT key,ds FROM srcpart TABLESAMPLE (10 ROWS) WHERE hr='11'; -SELECT value FROM srcpart TABLESAMPLE (10 ROWS) WHERE ds='2008-04-08'; +SELECT * FROM `s/cpart` TABLESAMPLE (10 ROWS); +SELECT key,ds FROM `s/cpart` TABLESAMPLE (10 ROWS) WHERE hr='11'; +SELECT value FROM `s/cpart` TABLESAMPLE (10 ROWS) WHERE ds='2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q b/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q index 8d8cb6b..0b445de 100644 --- a/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q +++ b/ql/src/test/queries/clientpositive/columnarserde_create_shortcut.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE columnarserde_create_shortcut(a array, b array, c map, d int, e string) STORED AS RCFILE; @@ -15,8 +49,8 @@ SELECT columnarserde_create_shortcut.a[0], columnarserde_create_shortcut.b[0], c CREATE table columnShortcutTable (key STRING, value STRING) STORED AS RCFILE; -FROM src -INSERT OVERWRITE TABLE columnShortcutTable SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE columnShortcutTable SELECT `s/c`.key, `s/c`.value LIMIT 10; describe columnShortcutTable; SELECT * FROM columnShortcutTable; diff --git a/ql/src/test/queries/clientpositive/columnstats_part_coltype.q b/ql/src/test/queries/clientpositive/columnstats_part_coltype.q index cd191c0..98aabd6 100644 --- a/ql/src/test/queries/clientpositive/columnstats_part_coltype.q +++ b/ql/src/test/queries/clientpositive/columnstats_part_coltype.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test type date, int, and string in partition column drop table if exists partcolstats; create table partcolstats (key int, value string) partitioned by (ds date, hr int, part string); -insert into partcolstats partition (ds=date '2015-04-02', hr=2, part='partA') select key, value from src limit 20; -insert into partcolstats partition (ds=date '2015-04-02', hr=2, part='partB') select key, value from src limit 20; -insert into partcolstats partition (ds=date '2015-04-02', hr=3, part='partA') select key, value from src limit 30; -insert into partcolstats partition (ds=date '2015-04-03', hr=3, part='partA') select key, value from src limit 40; -insert into partcolstats partition (ds=date '2015-04-03', hr=3, part='partB') select key, value from src limit 60; +insert into partcolstats partition (ds=date '2015-04-02', hr=2, part='partA') select key, value from `s/c` limit 20; +insert into partcolstats partition (ds=date '2015-04-02', hr=2, part='partB') select key, value from `s/c` limit 20; +insert into partcolstats partition (ds=date '2015-04-02', hr=3, part='partA') select key, value from `s/c` limit 30; +insert into partcolstats partition (ds=date '2015-04-03', hr=3, part='partA') select key, value from `s/c` limit 40; +insert into partcolstats partition (ds=date '2015-04-03', hr=3, part='partB') select key, value from `s/c` limit 60; analyze table partcolstats partition (ds=date '2015-04-02', hr=2, part='partA') compute statistics for columns; describe formatted partcolstats.key partition (ds=date '2015-04-02', hr=2, part='partA'); @@ -42,7 +76,7 @@ drop table partcolstats; -- Test type tinyint, smallint, and bigint in partition column drop table if exists partcolstatsnum; create table partcolstatsnum (key int, value string) partitioned by (tint tinyint, sint smallint, bint bigint); -insert into partcolstatsnum partition (tint=100, sint=1000, bint=1000000) select key, value from src limit 30; +insert into partcolstatsnum partition (tint=100, sint=1000, bint=1000000) select key, value from `s/c` limit 30; analyze table partcolstatsnum partition (tint=100, sint=1000, bint=1000000) compute statistics for columns; describe formatted partcolstatsnum.value partition (tint=100, sint=1000, bint=1000000); @@ -52,7 +86,7 @@ drop table partcolstatsnum; -- Test type decimal in partition column drop table if exists partcolstatsdec; create table partcolstatsdec (key int, value string) partitioned by (decpart decimal(8,4)); -insert into partcolstatsdec partition (decpart='1000.0001') select key, value from src limit 30; +insert into partcolstatsdec partition (decpart='1000.0001') select key, value from `s/c` limit 30; analyze table partcolstatsdec partition (decpart='1000.0001') compute statistics for columns; describe formatted partcolstatsdec.value partition (decpart='1000.0001'); @@ -62,7 +96,7 @@ drop table partcolstatsdec; -- Test type varchar and char in partition column drop table if exists partcolstatschar; create table partcolstatschar (key int, value string) partitioned by (varpart varchar(5), charpart char(3)); -insert into partcolstatschar partition (varpart='part1', charpart='aaa') select key, value from src limit 30; +insert into partcolstatschar partition (varpart='part1', charpart='aaa') select key, value from `s/c` limit 30; analyze table partcolstatschar partition (varpart='part1', charpart='aaa') compute statistics for columns; describe formatted partcolstatschar.value partition (varpart='part1', charpart='aaa'); diff --git a/ql/src/test/queries/clientpositive/columnstats_partlvl.q b/ql/src/test/queries/clientpositive/columnstats_partlvl.q index bd41005..5d1ab33 100644 --- a/ql/src/test/queries/clientpositive/columnstats_partlvl.q +++ b/ql/src/test/queries/clientpositive/columnstats_partlvl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE Employee_Part; diff --git a/ql/src/test/queries/clientpositive/columnstats_partlvl_dp.q b/ql/src/test/queries/clientpositive/columnstats_partlvl_dp.q index 73739b3..e81a5d2 100644 --- a/ql/src/test/queries/clientpositive/columnstats_partlvl_dp.q +++ b/ql/src/test/queries/clientpositive/columnstats_partlvl_dp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE Employee_Part; CREATE TABLE Employee_Part(employeeID int, employeeName String) partitioned by (employeeSalary double, country string) diff --git a/ql/src/test/queries/clientpositive/columnstats_quoting.q b/ql/src/test/queries/clientpositive/columnstats_quoting.q index 1bf4f91..2269a3b 100644 --- a/ql/src/test/queries/clientpositive/columnstats_quoting.q +++ b/ql/src/test/queries/clientpositive/columnstats_quoting.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS user_web_events; create temporary table user_web_events(`user id` bigint, `user name` string); diff --git a/ql/src/test/queries/clientpositive/columnstats_tbllvl.q b/ql/src/test/queries/clientpositive/columnstats_tbllvl.q index 4c5d3e6..1348c0f 100644 --- a/ql/src/test/queries/clientpositive/columnstats_tbllvl.q +++ b/ql/src/test/queries/clientpositive/columnstats_tbllvl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS UserVisits_web_text_none; diff --git a/ql/src/test/queries/clientpositive/combine1.q b/ql/src/test/queries/clientpositive/combine1.q index 3bcb8b1..11904e9 100644 --- a/ql/src/test/queries/clientpositive/combine1.q +++ b/ql/src/test/queries/clientpositive/combine1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.compress.output = true; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; set mapred.min.split.size=256; @@ -12,7 +46,7 @@ set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec; create table combine1_1(key string, value string) stored as textfile; insert overwrite table combine1_1 -select * from src; +select * from `s/c`; select key, value from combine1_1; diff --git a/ql/src/test/queries/clientpositive/combine2.q b/ql/src/test/queries/clientpositive/combine2.q index 376c37c..254f263 100644 --- a/ql/src/test/queries/clientpositive/combine2.q +++ b/ql/src/test/queries/clientpositive/combine2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + USE default; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -27,11 +61,11 @@ create table combine2(key string) partitioned by (value string); insert overwrite table combine2 partition(value) select * from ( - select key, value from src where key < 10 + select key, value from `s/c` where key < 10 union all - select key, '|' as value from src where key = 11 + select key, '|' as value from `s/c` where key = 11 union all - select key, '2010-04-21 09:45:00' value from src where key = 19) s; + select key, '2010-04-21 09:45:00' value from `s/c` where key = 19) s; show partitions combine2; @@ -46,6 +80,6 @@ select count(1) from combine2 where value is not null; select count(1) from combine2 where value is not null; explain -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; diff --git a/ql/src/test/queries/clientpositive/combine2_hadoop20.q b/ql/src/test/queries/clientpositive/combine2_hadoop20.q index d4b0d72..de0ce8d 100644 --- a/ql/src/test/queries/clientpositive/combine2_hadoop20.q +++ b/ql/src/test/queries/clientpositive/combine2_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + USE default; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -27,11 +61,11 @@ create table combine2(key string) partitioned by (value string); insert overwrite table combine2 partition(value) select * from ( - select key, value from src where key < 10 + select key, value from `s/c` where key < 10 union all - select key, '|' as value from src where key = 11 + select key, '|' as value from `s/c` where key = 11 union all - select key, '2010-04-21 09:45:00' value from src where key = 19) s; + select key, '2010-04-21 09:45:00' value from `s/c` where key = 19) s; show partitions combine2; @@ -46,6 +80,6 @@ select count(1) from combine2 where value is not null; select count(1) from combine2 where value is not null; explain -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; diff --git a/ql/src/test/queries/clientpositive/combine2_win.q b/ql/src/test/queries/clientpositive/combine2_win.q index c6b8827..54705ea 100644 --- a/ql/src/test/queries/clientpositive/combine2_win.q +++ b/ql/src/test/queries/clientpositive/combine2_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; set mapred.min.split.size=256; set mapred.min.split.size.per.node=256; @@ -17,11 +51,11 @@ create table combine2(key string) partitioned by (value string); insert overwrite table combine2 partition(value) select * from ( - select key, value from src where key < 10 + select key, value from `s/c` where key < 10 union all - select key, '|' as value from src where key = 11 + select key, '|' as value from `s/c` where key = 11 union all - select key, '2010-04-21 09:45:00' value from src where key = 19) s; + select key, '2010-04-21 09:45:00' value from `s/c` where key = 19) s; show partitions combine2; @@ -36,6 +70,6 @@ select count(1) from combine2 where value is not null; select count(1) from combine2 where value is not null; explain -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; -select ds, count(1) from srcpart where ds is not null group by ds; +select ds, count(1) from `s/cpart` where ds is not null group by ds; diff --git a/ql/src/test/queries/clientpositive/combine3.q b/ql/src/test/queries/clientpositive/combine3.q index c9afc91..b421b2d 100644 --- a/ql/src/test/queries/clientpositive/combine3.q +++ b/ql/src/test/queries/clientpositive/combine3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.compress.output = true; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; set mapred.min.split.size=256; @@ -10,10 +44,10 @@ drop table combine_3_srcpart_seq_rc; create table combine_3_srcpart_seq_rc (key int , value string) partitioned by (ds string, hr string) stored as sequencefile; -insert overwrite table combine_3_srcpart_seq_rc partition (ds="2010-08-03", hr="00") select * from src; +insert overwrite table combine_3_srcpart_seq_rc partition (ds="2010-08-03", hr="00") select * from `s/c`; alter table combine_3_srcpart_seq_rc set fileformat rcfile; -insert overwrite table combine_3_srcpart_seq_rc partition (ds="2010-08-03", hr="001") select * from src; +insert overwrite table combine_3_srcpart_seq_rc partition (ds="2010-08-03", hr="001") select * from `s/c`; desc extended combine_3_srcpart_seq_rc partition(ds="2010-08-03", hr="00"); desc extended combine_3_srcpart_seq_rc partition(ds="2010-08-03", hr="001"); @@ -27,12 +61,12 @@ drop table bucket3_1; CREATE TABLE combine_3_srcpart_seq_rc_bucket(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS stored as sequencefile; insert overwrite table combine_3_srcpart_seq_rc_bucket partition (ds='1') -select * from src; +select * from `s/c`; alter table combine_3_srcpart_seq_rc_bucket set fileformat rcfile; insert overwrite table combine_3_srcpart_seq_rc_bucket partition (ds='11') -select * from src; +select * from `s/c`; select key, ds from combine_3_srcpart_seq_rc_bucket tablesample (bucket 1 out of 2) s where ds = '1' or ds= '11' order by key, ds limit 30; diff --git a/ql/src/test/queries/clientpositive/compile_processor.q b/ql/src/test/queries/clientpositive/compile_processor.q index 6be02ec..09be4ba 100644 --- a/ql/src/test/queries/clientpositive/compile_processor.q +++ b/ql/src/test/queries/clientpositive/compile_processor.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + compile `import org.apache.hadoop.hive.ql.exec.UDF \; public class Pyth extends UDF { @@ -7,6 +41,6 @@ public class Pyth extends UDF { } ` AS GROOVY NAMED Pyth.groovy; CREATE TEMPORARY FUNCTION Pyth as 'Pyth'; -SELECT Pyth(3,4) FROM src tablesample (1 rows); +SELECT Pyth(3,4) FROM `s/c` tablesample (1 rows); DROP TEMPORARY FUNCTION Pyth; diff --git a/ql/src/test/queries/clientpositive/complex_alias.q b/ql/src/test/queries/clientpositive/complex_alias.q index e2810c3..6f98f28 100644 --- a/ql/src/test/queries/clientpositive/complex_alias.q +++ b/ql/src/test/queries/clientpositive/complex_alias.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE agg1 (col0 INT, col1 STRING, col2 DOUBLE); -INSERT INTO TABLE agg1 select key,value,key from src tablesample (1 rows); +INSERT INTO TABLE agg1 select key,value,key from `s/c` tablesample (1 rows); EXPLAIN SELECT single_use_subq11.a1 AS a1, diff --git a/ql/src/test/queries/clientpositive/compustat_avro.q b/ql/src/test/queries/clientpositive/compustat_avro.q index 4d781a3..d76d377 100644 --- a/ql/src/test/queries/clientpositive/compustat_avro.q +++ b/ql/src/test/queries/clientpositive/compustat_avro.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists testAvro; dfs -cp ${system:hive.root}data/files/grad.avsc ${system:test.tmp.dir}/; diff --git a/ql/src/test/queries/clientpositive/compute_stats_binary.q b/ql/src/test/queries/clientpositive/compute_stats_binary.q index fd15634..7a1dc7e 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_binary.q +++ b/ql/src/test/queries/clientpositive/compute_stats_binary.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_binary(a binary); -- insert some data diff --git a/ql/src/test/queries/clientpositive/compute_stats_boolean.q b/ql/src/test/queries/clientpositive/compute_stats_boolean.q index cddb53f..c2f184d 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_boolean.q +++ b/ql/src/test/queries/clientpositive/compute_stats_boolean.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_bool(a boolean); -- insert some data diff --git a/ql/src/test/queries/clientpositive/compute_stats_date.q b/ql/src/test/queries/clientpositive/compute_stats_date.q index 09128f6..8ff65f1 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_date.q +++ b/ql/src/test/queries/clientpositive/compute_stats_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_date ( origin_city_name string, diff --git a/ql/src/test/queries/clientpositive/compute_stats_decimal.q b/ql/src/test/queries/clientpositive/compute_stats_decimal.q index 77ec066..6414b13 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_decimal.q +++ b/ql/src/test/queries/clientpositive/compute_stats_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=true; create table tab_decimal(a decimal(10,3)); diff --git a/ql/src/test/queries/clientpositive/compute_stats_double.q b/ql/src/test/queries/clientpositive/compute_stats_double.q index 7a1e0f6..cecce25 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_double.q +++ b/ql/src/test/queries/clientpositive/compute_stats_double.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_double(a double); -- insert some data diff --git a/ql/src/test/queries/clientpositive/compute_stats_empty_table.q b/ql/src/test/queries/clientpositive/compute_stats_empty_table.q index d4ed93f..5d407ea 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_empty_table.q +++ b/ql/src/test/queries/clientpositive/compute_stats_empty_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_empty(a boolean, b int, c double, d string, e binary); select count(*) from tab_empty; diff --git a/ql/src/test/queries/clientpositive/compute_stats_long.q b/ql/src/test/queries/clientpositive/compute_stats_long.q index 6a2070f..0a39887 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_long.q +++ b/ql/src/test/queries/clientpositive/compute_stats_long.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_int(a int); -- insert some data diff --git a/ql/src/test/queries/clientpositive/compute_stats_string.q b/ql/src/test/queries/clientpositive/compute_stats_string.q index 0023e7f..d303937 100644 --- a/ql/src/test/queries/clientpositive/compute_stats_string.q +++ b/ql/src/test/queries/clientpositive/compute_stats_string.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tab_string(a string); -- insert some data diff --git a/ql/src/test/queries/clientpositive/concatenate_inherit_table_location.q b/ql/src/test/queries/clientpositive/concatenate_inherit_table_location.q index 1ae1943..28c3ffe 100644 --- a/ql/src/test/queries/clientpositive/concatenate_inherit_table_location.q +++ b/ql/src/test/queries/clientpositive/concatenate_inherit_table_location.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE citl_table (key STRING, value STRING) PARTITIONED BY (part STRING) STORED AS RCFILE LOCATION 'pfile:${system:test.tmp.dir}/citl_table'; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyPartitionIsSubdirectoryOfTableHook; -INSERT OVERWRITE TABLE citl_table PARTITION (part = '1') SELECT * FROM src; +INSERT OVERWRITE TABLE citl_table PARTITION (part = '1') SELECT * FROM `s/c`; SET hive.exec.post.hooks=; diff --git a/ql/src/test/queries/clientpositive/confirm_initial_tbl_stats.q b/ql/src/test/queries/clientpositive/confirm_initial_tbl_stats.q index 6f7bb53..2089bb9 100644 --- a/ql/src/test/queries/clientpositive/confirm_initial_tbl_stats.q +++ b/ql/src/test/queries/clientpositive/confirm_initial_tbl_stats.q @@ -1,6 +1,40 @@ -describe extended src; +DROP TABLE IF EXISTS `s/c`; -describe formatted src.key; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +describe extended `s/c`; + +describe formatted `s/c`.key; describe extended src1; @@ -22,9 +56,9 @@ describe extended srcbucket2; describe formatted srcbucket2.value; -describe extended srcpart; +describe extended `s/cpart`; -describe formatted srcpart.key PARTITION (ds="2008-04-09", hr="12"); +describe formatted `s/cpart`.key PARTITION (ds="2008-04-09", hr="12"); describe extended alltypesorc; diff --git a/ql/src/test/queries/clientpositive/constantPropagateForSubQuery.q b/ql/src/test/queries/clientpositive/constantPropagateForSubQuery.q index 08855cb..5af984e 100644 --- a/ql/src/test/queries/clientpositive/constantPropagateForSubQuery.q +++ b/ql/src/test/queries/clientpositive/constantPropagateForSubQuery.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS explain extended - select * from (select a.key as ak, a.value as av, b.key as bk, b.value as bv from src a join src1 b where a.key = '429' ) c; + select * from (select a.key as ak, a.value as av, b.key as bk, b.value as bv from `s/c` a join src1 b where a.key = '429' ) c; - select * from (select a.key as ak, a.value as av, b.key as bk, b.value as bv from src a join src1 b where a.key = '429' ) c; + select * from (select a.key as ak, a.value as av, b.key as bk, b.value as bv from `s/c` a join src1 b where a.key = '429' ) c; diff --git a/ql/src/test/queries/clientpositive/constant_prop.q b/ql/src/test/queries/clientpositive/constant_prop.q index d51b801..b760a43 100644 --- a/ql/src/test/queries/clientpositive/constant_prop.q +++ b/ql/src/test/queries/clientpositive/constant_prop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN @@ -9,7 +43,7 @@ SELECT NAMED_STRUCT( IF(ARRAY_CONTAINS(ARRAY(1, 2), 3), "F1", "B1"), 1, IF(ARRAY_CONTAINS(MAP_KEYS(MAP("b", "x")), "b"), "F2", "B2"), 2 ).F2 - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); SELECT NAMED_STRUCT( IF(ARRAY_CONTAINS(ARRAY(1, 2), 3), "F1", "B1"), 1, @@ -19,4 +53,4 @@ SELECT NAMED_STRUCT( IF(ARRAY_CONTAINS(ARRAY(1, 2), 3), "F1", "B1"), 1, IF(ARRAY_CONTAINS(MAP_KEYS(MAP("b", "x")), "b"), "F2", "B2"), 2 ).F2 - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/constprog1.q b/ql/src/test/queries/clientpositive/constprog1.q index b8adccc..a167a7d 100644 --- a/ql/src/test/queries/clientpositive/constprog1.q +++ b/ql/src/test/queries/clientpositive/constprog1.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; set hive.optimize.constant.propagation=true; EXPLAIN SELECT IF(INSTR(CONCAT('foo', 'bar'), 'foob') > 0, "F1", "B1") - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); SELECT IF(INSTR(CONCAT('foo', 'bar'), 'foob') > 0, "F1", "B1") - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/constprog2.q b/ql/src/test/queries/clientpositive/constprog2.q index 6001668..c22aa71 100644 --- a/ql/src/test/queries/clientpositive/constprog2.q +++ b/ql/src/test/queries/clientpositive/constprog2.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; set hive.optimize.constant.propagation=true; EXPLAIN SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 86; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND src1.key = 86; SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 86; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND src1.key = 86; EXPLAIN SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND cast(src1.key as double) = 86; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND cast(src1.key as double) = 86; SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND cast(src1.key as double) = 86; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND cast(src1.key as double) = 86; diff --git a/ql/src/test/queries/clientpositive/constprog_dp.q b/ql/src/test/queries/clientpositive/constprog_dp.q index 7dad040..9498e0d 100644 --- a/ql/src/test/queries/clientpositive/constprog_dp.q +++ b/ql/src/test/queries/clientpositive/constprog_dp.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.constant.propagation=true; set hive.exec.dynamic.partition.mode=nonstrict; create table dest(key string, value string) partitioned by (ds string); EXPLAIN -from srcpart +from `s/cpart` insert overwrite table dest partition (ds) select key, value, ds where ds='2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table dest partition (ds) select key, value, ds where ds='2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/constprog_dpp.q b/ql/src/test/queries/clientpositive/constprog_dpp.q index f1c9b13..3fc981d 100644 --- a/ql/src/test/queries/clientpositive/constprog_dpp.q +++ b/ql/src/test/queries/clientpositive/constprog_dpp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.execution.engine=tez; set hive.optimize.constant.propagation=true; set hive.tez.dynamic.partition.pruning=true; diff --git a/ql/src/test/queries/clientpositive/constprog_partitioner.q b/ql/src/test/queries/clientpositive/constprog_partitioner.q index 7800ffe..8bf618e 100644 --- a/ql/src/test/queries/clientpositive/constprog_partitioner.q +++ b/ql/src/test/queries/clientpositive/constprog_partitioner.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; set hive.optimize.constant.propagation=true; @@ -5,10 +39,10 @@ set mapred.reduce.tasks=4; EXPLAIN SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND src1.key = 100; SELECT src1.key, src1.key + 1, src2.value - FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100; + FROM `s/c` src1 join `s/c` src2 ON src1.key = src2.key AND src1.key = 100; EXPLAIN SELECT l_partkey, l_suppkey diff --git a/ql/src/test/queries/clientpositive/constprog_type.q b/ql/src/test/queries/clientpositive/constprog_type.q index 5683a48..3d1efdf 100644 --- a/ql/src/test/queries/clientpositive/constprog_type.q +++ b/ql/src/test/queries/clientpositive/constprog_type.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.constant.propagation=true; CREATE TABLE dest1(d date, t timestamp); @@ -5,15 +39,15 @@ CREATE TABLE dest1(d date, t timestamp); EXPLAIN INSERT OVERWRITE TABLE dest1 SELECT cast('2013-11-17' as date), cast(cast('1.3041352164485E9' as double) as timestamp) - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); INSERT OVERWRITE TABLE dest1 SELECT cast('2013-11-17' as date), cast(cast('1.3041352164485E9' as double) as timestamp) - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); SELECT * FROM dest1; -SELECT key, value FROM src WHERE key = cast(86 as double); +SELECT key, value FROM `s/c` WHERE key = cast(86 as double); CREATE TABLE primitives1 ( id INT , diff --git a/ql/src/test/queries/clientpositive/convert_enum_to_string.q b/ql/src/test/queries/clientpositive/convert_enum_to_string.q index 3dc4a6a..8e92b00 100644 --- a/ql/src/test/queries/clientpositive/convert_enum_to_string.q +++ b/ql/src/test/queries/clientpositive/convert_enum_to_string.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Ensure Enum fields are converted to strings (instead of struct) create table convert_enum_to_string diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer1.q b/ql/src/test/queries/clientpositive/correlationoptimizer1.q index 51d2c10..3e767f8 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer1.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -9,24 +43,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=true; @@ -38,12 +72,12 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=false; @@ -54,24 +88,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT SEMI JOIN src y ON (x.key = y.key) + FROM src1 x LEFT SEMI JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT SEMI JOIN src y ON (x.key = y.key) + FROM src1 x LEFT SEMI JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT SEMI JOIN src y ON (x.key = y.key) + FROM src1 x LEFT SEMI JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT SEMI JOIN src y ON (x.key = y.key) + FROM src1 x LEFT SEMI JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=false; @@ -82,24 +116,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; @@ -110,24 +144,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; set hive.optimize.correlation=false; @@ -136,21 +170,21 @@ set hive.optimize.correlation=false; -- operators because those keys with a null value are not grouped. EXPLAIN SELECT x.key, y.value, count(1) AS cnt -FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key AND x.value = y.value) +FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key, y.value; SELECT x.key, y.value, count(1) AS cnt -FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key AND x.value = y.value) +FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key, y.value; set hive.optimize.correlation=true; EXPLAIN SELECT x.key, y.value, count(1) AS cnt -FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key AND x.value = y.value) +FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key, y.value; SELECT x.key, y.value, count(1) AS cnt -FROM src1 x LEFT OUTER JOIN src y ON (x.key = y.key AND x.value = y.value) +FROM src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key, y.value; set hive.optimize.correlation=false; @@ -160,24 +194,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT y.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY y.key) tmp; @@ -188,24 +222,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x RIGHT OUTER JOIN src y ON (x.key = y.key) + FROM src1 x RIGHT OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=false; @@ -216,24 +250,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x FULL OUTER JOIN src y ON (x.key = y.key) + FROM src1 x FULL OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x FULL OUTER JOIN src y ON (x.key = y.key) + FROM src1 x FULL OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x FULL OUTER JOIN src y ON (x.key = y.key) + FROM src1 x FULL OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x FULL OUTER JOIN src y ON (x.key = y.key) + FROM src1 x FULL OUTER JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=false; @@ -242,24 +276,24 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.value)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, x.value AS value, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key, x.value) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.value)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, x.value AS value, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key, x.value) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.value)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, x.value AS value, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key, x.value) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.value)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, x.value AS value, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key, x.value) tmp; set hive.optimize.correlation=false; @@ -267,22 +301,22 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key AND x.value = y.value) + FROM src1 x JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key AND x.value = y.value) + FROM src1 x JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key AND x.value = y.value) + FROM src1 x JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key AND x.value = y.value) + FROM src1 x JOIN `s/c` y ON (x.key = y.key AND x.value = y.value) GROUP BY x.key) tmp; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer10.q b/ql/src/test/queries/clientpositive/correlationoptimizer10.q index cbd9e22..1cc789b 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer10.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 4 MR jobs are needed. @@ -14,13 +48,13 @@ EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -LEFT SEMI JOIN src yy +LEFT SEMI JOIN `s/c` yy ON xx.key=yy.key; SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -LEFT SEMI JOIN src yy +LEFT SEMI JOIN `s/c` yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -28,13 +62,13 @@ EXPLAIN SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -LEFT SEMI JOIN src yy +LEFT SEMI JOIN `s/c` yy ON xx.key=yy.key; SELECT xx.key, xx.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -LEFT SEMI JOIN src yy +LEFT SEMI JOIN `s/c` yy ON xx.key=yy.key; set hive.optimize.correlation=false; @@ -51,7 +85,7 @@ FROM src1 xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy ON xx.key=yy.key; @@ -61,7 +95,7 @@ FROM src1 xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy ON xx.key=yy.key; @@ -73,7 +107,7 @@ FROM src1 xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy ON xx.key=yy.key; @@ -83,7 +117,7 @@ FROM src1 xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND y.key > 20) yy ON xx.key=yy.key; @@ -96,19 +130,19 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.value FROM -src xx +`s/c` xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy ON xx.key=yy.key; SELECT xx.key, xx.value FROM -src xx +`s/c` xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy ON xx.key=yy.key; @@ -116,18 +150,18 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value FROM -src xx +`s/c` xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy ON xx.key=yy.key; SELECT xx.key, xx.value FROM -src xx +`s/c` xx LEFT SEMI JOIN (SELECT x.key as key - FROM src x JOIN src y ON (x.key = y.key) + FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) WHERE x.key < 200 AND x.key > 180) yy ON xx.key=yy.key; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer11.q b/ql/src/test/queries/clientpositive/correlationoptimizer11.q index 412baa7..b30be8e 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer11.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer11.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; -- Tests in this file are used to make sure Correlation Optimizer -- can correctly handle tables with partitions CREATE TABLE part_table(key string, value string) PARTITIONED BY (partitionId int); INSERT OVERWRITE TABLE part_table PARTITION (partitionId=1) - SELECT key, value FROM src ORDER BY key, value LIMIT 100; + SELECT key, value FROM `s/c` ORDER BY key, value LIMIT 100; INSERT OVERWRITE TABLE part_table PARTITION (partitionId=2) SELECT key, value FROM src1 ORDER BY key, value; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer12.q b/ql/src/test/queries/clientpositive/correlationoptimizer12.q index 409cdb4..7714885 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer12.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer12.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=true; -- Currently, correlation optimizer does not support PTF operator EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM -(SELECT x.key as key, count(x.value) OVER (PARTITION BY x.key) AS cnt FROM src x) xx +(SELECT x.key as key, count(x.value) OVER (PARTITION BY x.key) AS cnt FROM `s/c` x) xx JOIN (SELECT y.key as key, count(y.value) OVER (PARTITION BY y.key) AS cnt FROM src1 y) yy ON (xx.key=yy.key); diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer13.q b/ql/src/test/queries/clientpositive/correlationoptimizer13.q index e979465..6229406 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer13.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer13.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING); INSERT OVERWRITE TABLE tmp -SELECT x.key, y.key, x.value, y.value FROM src x JOIN src y ON (x.key = y.key); +SELECT x.key, y.key, x.value, y.value FROM `s/c` x JOIN `s/c` y ON (x.key = y.key); set hive.optimize.correlation=true; -- The query in this file have operators with same set of keys diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer14.q b/ql/src/test/queries/clientpositive/correlationoptimizer14.q index 1322b79..0b49aaa 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer14.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.reducededuplication=true; set hive.optimize.reducededuplication.min.reducer=1; set hive.optimize.correlation=true; @@ -13,7 +47,7 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key) yy ON (xx.key=yy.key); @@ -22,7 +56,7 @@ ON (xx.key=yy.key); EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x SORT BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x SORT BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y SORT BY key) yy ON (xx.key=yy.key); @@ -32,14 +66,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key SORT BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key SORT BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key SORT BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key SORT BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key SORT BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key SORT BY key) yy ON (xx.key=yy.key); @@ -48,14 +82,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key SORT BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key SORT BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key SORT BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key SORT BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key SORT BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key SORT BY key) yy ON (xx.key=yy.key); @@ -66,7 +100,7 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x DISTRIBUTE BY key SORT BY key DESC) xx +(SELECT x.key as key, x.value as value FROM `s/c` x DISTRIBUTE BY key SORT BY key DESC) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y DISTRIBUTE BY key SORT BY key DESC) yy ON (xx.key=yy.key); @@ -76,7 +110,7 @@ ON (xx.key=yy.key); EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x ORDER BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x ORDER BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y ORDER BY key) yy ON (xx.key=yy.key); @@ -86,14 +120,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x Cluster BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x Cluster BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y Cluster BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x Cluster BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x Cluster BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y Cluster BY key) yy ON (xx.key=yy.key); @@ -102,14 +136,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x Cluster BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x Cluster BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y Cluster BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x Cluster BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x Cluster BY key) xx JOIN (SELECT y.key as key, y.value as value FROM src1 y Cluster BY key) yy ON (xx.key=yy.key); @@ -120,14 +154,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x CLUSTER BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x CLUSTER BY key) xx JOIN (SELECT y.key as key, count(*) as value FROM src1 y GROUP BY y.key ORDER BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x CLUSTER BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x CLUSTER BY key) xx JOIN (SELECT y.key as key, count(*) as value FROM src1 y GROUP BY y.key ORDER BY key) yy ON (xx.key=yy.key); @@ -136,14 +170,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x CLUSTER BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x CLUSTER BY key) xx JOIN (SELECT y.key as key, count(*) as value FROM src1 y GROUP BY y.key ORDER BY key) yy ON (xx.key=yy.key); SELECT xx.key, xx.value, yy.key, yy.value FROM -(SELECT x.key as key, x.value as value FROM src x CLUSTER BY key) xx +(SELECT x.key as key, x.value as value FROM `s/c` x CLUSTER BY key) xx JOIN (SELECT y.key as key, count(*) as value FROM src1 y GROUP BY y.key ORDER BY key) yy ON (xx.key=yy.key); diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer15.q b/ql/src/test/queries/clientpositive/correlationoptimizer15.q index 43f47db..9bfbca2 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer15.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -10,13 +44,13 @@ EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -25,11 +59,11 @@ EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer2.q b/ql/src/test/queries/clientpositive/correlationoptimizer2.q index af97f16..dbb6d72 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer2.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; -- In this query, subquery a and b both have a GroupByOperator and the a and b will be @@ -9,13 +43,13 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -23,13 +57,13 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -38,13 +72,13 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a LEFT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a LEFT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -52,13 +86,13 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a LEFT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a LEFT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -67,13 +101,13 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -81,13 +115,13 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a RIGHT OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -96,13 +130,13 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -110,13 +144,13 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.cnt AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key)) tmp; @@ -124,14 +158,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT a.key AS key, count(1) AS cnt - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key) GROUP BY a.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT a.key AS key, count(1) AS cnt - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key) GROUP BY a.key) tmp; @@ -143,14 +177,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT a.key AS key, count(1) AS cnt - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key) GROUP BY a.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (SELECT a.key AS key, count(1) AS cnt - FROM (SELECT x.key as key, count(x.value) AS cnt FROM src x group by x.key) a + FROM (SELECT x.key as key, count(x.value) AS cnt FROM `s/c` x group by x.key) a FULL OUTER JOIN (SELECT y.key as key, count(y.value) AS cnt FROM src1 y group by y.key) b ON (a.key = b.key) GROUP BY a.key) tmp; @@ -163,13 +197,13 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.val AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN src y ON (x.key = y.key)) a + FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN `s/c` y ON (x.key = y.key)) a JOIN (SELECT z.key AS key, count(z.value) AS cnt FROM src1 z group by z.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.val AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN src y ON (x.key = y.key)) a + FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN `s/c` y ON (x.key = y.key)) a JOIN (SELECT z.key AS key, count(z.value) AS cnt FROM src1 z group by z.key) b ON (a.key = b.key)) tmp; @@ -177,12 +211,12 @@ set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.val AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN src y ON (x.key = y.key)) a + FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN `s/c` y ON (x.key = y.key)) a JOIN (SELECT z.key AS key, count(z.value) AS cnt FROM src1 z group by z.key) b ON (a.key = b.key)) tmp; SELECT SUM(HASH(key1)), SUM(HASH(cnt1)), SUM(HASH(key2)), SUM(HASH(cnt2)) FROM (SELECT a.key AS key1, a.val AS cnt1, b.key AS key2, b.cnt AS cnt2 - FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN src y ON (x.key = y.key)) a + FROM (SELECT x.key AS key, x.value AS val FROM src1 x JOIN `s/c` y ON (x.key = y.key)) a JOIN (SELECT z.key AS key, count(z.value) AS cnt FROM src1 z group by z.key) b ON (a.key = b.key)) tmp; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer3.q b/ql/src/test/queries/clientpositive/correlationoptimizer3.q index 89b7c15..c961624 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer3.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 5 MR jobs will be generated. @@ -10,28 +44,28 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; set hive.optimize.correlation=true; @@ -40,14 +74,14 @@ set hive.auto.convert.join=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT b.key AS key, b.cnt AS cnt, d.value AS value - FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) b - JOIN (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) d + FROM (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) b + JOIN (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) d ON b.key = d.key) tmp; set hive.auto.convert.join=false; @@ -55,28 +89,28 @@ set hive.optimize.correlation=false; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; set hive.optimize.correlation=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; set hive.optimize.correlation=true; @@ -85,12 +119,12 @@ set hive.auto.convert.join=true; EXPLAIN SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; SELECT SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)), SUM(HASH(tmp.value)) FROM (SELECT d.key AS key, d.cnt AS cnt, b.value as value - FROM (SELECT x.key, x.value FROM src1 x JOIN src y ON (x.key = y.key)) b - JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN src y ON (x.key = y.key) group by x.key) d + FROM (SELECT x.key, x.value FROM src1 x JOIN `s/c` y ON (x.key = y.key)) b + JOIN (SELECT x.key, count(1) AS cnt FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key) d ON b.key = d.key) tmp; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer4.q b/ql/src/test/queries/clientpositive/correlationoptimizer4.q index 953d191..b9cfbfc 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer4.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key INT, val STRING); LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; CREATE TABLE T2(key INT, val STRING); diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer5.q b/ql/src/test/queries/clientpositive/correlationoptimizer5.q index 287c7a3..efa1001 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer5.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key INT, val STRING); LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE T1; CREATE TABLE T2(key INT, val STRING); diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer6.q b/ql/src/test/queries/clientpositive/correlationoptimizer6.q index 9b3751e..d5c38d1 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer6.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -11,14 +45,14 @@ SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -27,14 +61,14 @@ SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -45,14 +79,14 @@ SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; set hive.auto.convert.join=false; @@ -64,13 +98,13 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x GROUP BY x.key) yy ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x GROUP BY x.key) yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -78,13 +112,13 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x GROUP BY x.key) yy ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x GROUP BY x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x GROUP BY x.key) yy ON xx.key=yy.key; set hive.optimize.correlation=false; @@ -95,13 +129,13 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -109,13 +143,13 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON xx.key=yy.key; set hive.auto.convert.join=false; @@ -127,13 +161,13 @@ EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -141,13 +175,13 @@ EXPLAIN SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx -JOIN src yy +JOIN `s/c` yy ON xx.key=yy.key; set hive.optimize.correlation=false; @@ -157,16 +191,16 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx -JOIN src zz ON xx.key=zz.key +JOIN `s/c` zz ON xx.key=zz.key JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON zz.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx -JOIN src zz ON xx.key=zz.key +JOIN `s/c` zz ON xx.key=zz.key JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON zz.key=yy.key; set hive.optimize.correlation=true; @@ -176,16 +210,16 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx -JOIN src zz ON xx.key=zz.key +JOIN `s/c` zz ON xx.key=zz.key JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON zz.key=yy.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx -JOIN src zz ON xx.key=zz.key +JOIN `s/c` zz ON xx.key=zz.key JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy ON zz.key=yy.key; set hive.optimize.correlation=false; @@ -196,15 +230,15 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key JOIN src zz +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy +ON xx.key=yy.key JOIN `s/c` zz ON yy.key=zz.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key JOIN src zz +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy +ON xx.key=yy.key JOIN `s/c` zz ON yy.key=zz.key; set hive.optimize.correlation=true; @@ -212,15 +246,15 @@ EXPLAIN SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key JOIN src zz +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy +ON xx.key=yy.key JOIN `s/c` zz ON yy.key=zz.key; SELECT xx.key, yy.key, yy.cnt FROM src1 xx JOIN -(SELECT x.key as key, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key) yy -ON xx.key=yy.key JOIN src zz +(SELECT x.key as key, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key) yy +ON xx.key=yy.key JOIN `s/c` zz ON yy.key=zz.key; set hive.optimize.correlation=false; @@ -231,36 +265,36 @@ EXPLAIN SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM (SELECT xx.key as key, sum(xx.cnt) as sum1, sum(yy.cnt) as sum2 - FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx + FROM (SELECT x.key as key, count(*) AS cnt FROM `s/c` x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key; +JOIN `s/c` z ON tmp.key=z.key; SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM (SELECT xx.key as key, sum(xx.cnt) as sum1, sum(yy.cnt) as sum2 - FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx + FROM (SELECT x.key as key, count(*) AS cnt FROM `s/c` x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key; +JOIN `s/c` z ON tmp.key=z.key; set hive.optimize.correlation=true; EXPLAIN SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM (SELECT xx.key as key, sum(xx.cnt) as sum1, sum(yy.cnt) as sum2 - FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx + FROM (SELECT x.key as key, count(*) AS cnt FROM `s/c` x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key; +JOIN `s/c` z ON tmp.key=z.key; SELECT tmp.key, tmp.sum1, tmp.sum2, z.key, z.value FROM (SELECT xx.key as key, sum(xx.cnt) as sum1, sum(yy.cnt) as sum2 - FROM (SELECT x.key as key, count(*) AS cnt FROM src x group by x.key) xx + FROM (SELECT x.key as key, count(*) AS cnt FROM `s/c` x group by x.key) xx JOIN (SELECT y.key as key, count(*) AS cnt FROM src1 y group by y.key) yy ON (xx.key=yy.key) GROUP BY xx.key) tmp -JOIN src z ON tmp.key=z.key; +JOIN `s/c` z ON tmp.key=z.key; set hive.optimize.correlation=false; -- When Correlation Optimizer is turned off, 6 MR jobs are needed. @@ -272,14 +306,14 @@ SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key ORDER BY xx.key, xx.cnt, yy.key, yy.value, yy.cnt; set hive.optimize.correlation=true; @@ -288,14 +322,14 @@ SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key; set hive.optimize.correlation=true; @@ -305,13 +339,13 @@ SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value, yy.cnt FROM (SELECT x.key as key, count(1) as cnt FROM src1 x JOIN src1 y ON (x.key = y.key) group by x.key) xx JOIN -(SELECT x.key as key, x.value as value, count(1) as cnt FROM src x JOIN src y ON (x.key = y.key) group by x.key, x.value) yy +(SELECT x.key as key, x.value as value, count(1) as cnt FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) group by x.key, x.value) yy ON xx.key=yy.key; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer7.q b/ql/src/test/queries/clientpositive/correlationoptimizer7.q index dc85586..d835628 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer7.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.optimize.correlation=false; @@ -6,14 +40,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; @@ -23,14 +57,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; @@ -49,14 +83,14 @@ set hive.optimize.correlation=false; EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; @@ -65,14 +99,14 @@ set hive.optimize.correlation=true; EXPLAIN SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; SELECT xx.key, xx.cnt, yy.key, yy.value FROM (SELECT x.key AS key, count(1) AS cnt - FROM src x JOIN src1 y ON (x.key = y.key) + FROM `s/c` x JOIN src1 y ON (x.key = y.key) GROUP BY x.key) xx JOIN src1 yy ON xx.key=yy.key; diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer8.q b/ql/src/test/queries/clientpositive/correlationoptimizer8.q index 4f4c3c5..8f29955 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer8.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.correlation=false; @@ -12,17 +46,17 @@ set hive.optimize.correlation=false; EXPLAIN SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); @@ -30,17 +64,17 @@ set hive.optimize.correlation=true; EXPLAIN SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); @@ -54,7 +88,7 @@ set hive.optimize.correlation=false; EXPLAIN SELECT subq1.key, subq1.cnt, x.key, x.value FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 @@ -62,7 +96,7 @@ LEFT OUTER JOIN src1 x ON (x.key = subq1.key); SELECT subq1.key, subq1.cnt, x.key, x.value FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 @@ -72,7 +106,7 @@ set hive.optimize.correlation=true; EXPLAIN SELECT subq1.key, subq1.cnt, x.key, x.value FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 @@ -80,7 +114,7 @@ LEFT OUTER JOIN src1 x ON (x.key = subq1.key); SELECT subq1.key, subq1.cnt, x.key, x.value FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL SELECT x1.value as key, count(1) as cnt from src1 x1 where x1.key > 100 group by x1.value ) subq1 @@ -93,9 +127,9 @@ set hive.optimize.correlation=true; EXPLAIN SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key, x1.value + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key, x1.value ) subq1 JOIN src1 x ON (x.key = subq1.key); @@ -106,8 +140,8 @@ set hive.optimize.correlation=true; EXPLAIN SELECT subq1.key, subq1.value, x.key, x.value FROM -( SELECT cast(x.key as INT) as key, count(1) as value from src x where x.key < 20 group by x.key +( SELECT cast(x.key as INT) as key, count(1) as value from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT count(1) as key, cast(x1.key as INT) as value from src x1 where x1.key > 100 group by x1.key + SELECT count(1) as key, cast(x1.key as INT) as value from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 FULL OUTER JOIN src1 x ON (x.key = subq1.key); diff --git a/ql/src/test/queries/clientpositive/correlationoptimizer9.q b/ql/src/test/queries/clientpositive/correlationoptimizer9.q index d58b79c..e340ee8 100644 --- a/ql/src/test/queries/clientpositive/correlationoptimizer9.q +++ b/ql/src/test/queries/clientpositive/correlationoptimizer9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING); @@ -5,7 +39,7 @@ CREATE TABLE tmp(c1 INT, c2 INT, c3 STRING, c4 STRING); set hive.auto.convert.join=false; INSERT OVERWRITE TABLE tmp -SELECT x.key, y.key, x.value, y.value FROM src x JOIN src y ON (x.key = y.key); +SELECT x.key, y.key, x.value, y.value FROM `s/c` x JOIN `s/c` y ON (x.key = y.key); set hive.optimize.correlation=false; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/count.q b/ql/src/test/queries/clientpositive/count.q index ded8be8..9964ee3 100644 --- a/ql/src/test/queries/clientpositive/count.q +++ b/ql/src/test/queries/clientpositive/count.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS create table abcd (a int, b int, c int, d int); diff --git a/ql/src/test/queries/clientpositive/cp_mj_rc.q b/ql/src/test/queries/clientpositive/cp_mj_rc.q index 62d38e3..4dfee90 100644 --- a/ql/src/test/queries/clientpositive/cp_mj_rc.q +++ b/ql/src/test/queries/clientpositive/cp_mj_rc.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src_six_columns (k1 string, v1 string, k2 string, v2 string, k3 string, v3 string) stored as rcfile; -insert overwrite table src_six_columns select value, value, key, value, value, value from src; +insert overwrite table src_six_columns select value, value, key, value, value, value from `s/c`; create table src_two_columns (k1 string, v1 string) stored as rcfile; -insert overwrite table src_two_columns select key, value from src; +insert overwrite table src_two_columns select key, value from `s/c`; SELECT /*+ MAPJOIN(six) */ six.*, two.k1 from src_six_columns six join src_two_columns two on (six.k3=two.k1); SELECT /*+ MAPJOIN(two) */ two.*, six.k3 from src_six_columns six join src_two_columns two on (six.k3=two.k1); diff --git a/ql/src/test/queries/clientpositive/cp_sel.q b/ql/src/test/queries/clientpositive/cp_sel.q index c674cd4..6f34b68 100644 --- a/ql/src/test/queries/clientpositive/cp_sel.q +++ b/ql/src/test/queries/clientpositive/cp_sel.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select key,value,'hello' as ds, 'world' as hr from srcpart where hr=11 order by 1 limit 1; -select key,value,'hello' as ds, 'world' as hr from srcpart where hr=11 order by 1 limit 1; +select key,value,'hello' as ds, 'world' as hr from `s/cpart` where hr=11 order by 1 limit 1; +select key,value,'hello' as ds, 'world' as hr from `s/cpart` where hr=11 order by 1 limit 1; set hive.exec.dynamic.partition.mode=nonstrict; create table testpartbucket (key string, value string) partitioned by (ds string, hr string) clustered by(key) sorted by(key) into 2 buckets; explain -insert overwrite table testpartbucket partition(ds,hr) select key,value,'hello' as ds, 'world' as hr from srcpart where hr=11; -insert overwrite table testpartbucket partition(ds,hr) select key,value,'hello' as ds, 'world' as hr from srcpart where hr=11; +insert overwrite table testpartbucket partition(ds,hr) select key,value,'hello' as ds, 'world' as hr from `s/cpart` where hr=11; +insert overwrite table testpartbucket partition(ds,hr) select key,value,'hello' as ds, 'world' as hr from `s/cpart` where hr=11; select * from testpartbucket limit 3; drop table testpartbucket; reset hive.exec.dynamic.partition.mode; diff --git a/ql/src/test/queries/clientpositive/create_1.q b/ql/src/test/queries/clientpositive/create_1.q index f348e59..2e10e22 100644 --- a/ql/src/test/queries/clientpositive/create_1.q +++ b/ql/src/test/queries/clientpositive/create_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set fs.default.name=invalidscheme:///; CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/create_alter_list_bucketing_table1.q b/ql/src/test/queries/clientpositive/create_alter_list_bucketing_table1.q index b51b238..fe08c3d 100644 --- a/ql/src/test/queries/clientpositive/create_alter_list_bucketing_table1.q +++ b/ql/src/test/queries/clientpositive/create_alter_list_bucketing_table1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; -- Test stored as directories diff --git a/ql/src/test/queries/clientpositive/create_big_view.q b/ql/src/test/queries/clientpositive/create_big_view.q index 49caacc..13ac96c 100644 --- a/ql/src/test/queries/clientpositive/create_big_view.q +++ b/ql/src/test/queries/clientpositive/create_big_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP VIEW big_view; -- Define a view with long SQL text to test metastore and other limits. @@ -238,7 +272,7 @@ CREATE VIEW big_view AS SELECT 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' -FROM src; +FROM `s/c`; SELECT a FROM big_view LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/create_default_prop.q b/ql/src/test/queries/clientpositive/create_default_prop.q index 26d7332..60aa420 100644 --- a/ql/src/test/queries/clientpositive/create_default_prop.q +++ b/ql/src/test/queries/clientpositive/create_default_prop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.table.parameters.default=p1=v1,P2=v21=v22=v23; CREATE TABLE table_p1 (a STRING); DESC EXTENDED table_p1; diff --git a/ql/src/test/queries/clientpositive/create_escape.q b/ql/src/test/queries/clientpositive/create_escape.q index 49f7c5f..fdeb169 100644 --- a/ql/src/test/queries/clientpositive/create_escape.q +++ b/ql/src/test/queries/clientpositive/create_escape.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE table1 (a STRING, b STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\' STORED AS TEXTFILE; @@ -5,6 +39,6 @@ STORED AS TEXTFILE; DESCRIBE table1; DESCRIBE EXTENDED table1; -INSERT OVERWRITE TABLE table1 SELECT key, '\\\t\\' FROM src WHERE key = 86; +INSERT OVERWRITE TABLE table1 SELECT key, '\\\t\\' FROM `s/c` WHERE key = 86; SELECT * FROM table1; diff --git a/ql/src/test/queries/clientpositive/create_func1.q b/ql/src/test/queries/clientpositive/create_func1.q index 6f5f7f2..44f3645 100644 --- a/ql/src/test/queries/clientpositive/create_func1.q +++ b/ql/src/test/queries/clientpositive/create_func1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- qtest_get_java_boolean should already be created during test initialization -select qtest_get_java_boolean('true'), qtest_get_java_boolean('false') from src limit 1; +select qtest_get_java_boolean('true'), qtest_get_java_boolean('false') from `s/c` limit 1; describe function extended qtest_get_java_boolean; @@ -12,7 +46,7 @@ show functions mydb.func1; describe function extended mydb.func1; -select mydb.func1('abc') from src limit 1; +select mydb.func1('abc') from `s/c` limit 1; drop function mydb.func1; @@ -24,11 +58,11 @@ create function mydb.qtest_get_java_boolean as 'org.apache.hadoop.hive.ql.udf.ge use default; -- unqualified function should resolve to one in default db -select qtest_get_java_boolean('abc'), default.qtest_get_java_boolean('abc'), mydb.qtest_get_java_boolean('abc') from default.src limit 1; +select qtest_get_java_boolean('abc'), default.qtest_get_java_boolean('abc'), mydb.qtest_get_java_boolean('abc') from default.`s/c` limit 1; use mydb; -- unqualified function should resolve to one in mydb db -select qtest_get_java_boolean('abc'), default.qtest_get_java_boolean('abc'), mydb.qtest_get_java_boolean('abc') from default.src limit 1; +select qtest_get_java_boolean('abc'), default.qtest_get_java_boolean('abc'), mydb.qtest_get_java_boolean('abc') from default.`s/c` limit 1; drop function mydb.qtest_get_java_boolean; diff --git a/ql/src/test/queries/clientpositive/create_genericudaf.q b/ql/src/test/queries/clientpositive/create_genericudaf.q index b2bc042..86e82e2 100644 --- a/ql/src/test/queries/clientpositive/create_genericudaf.q +++ b/ql/src/test/queries/clientpositive/create_genericudaf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TEMPORARY FUNCTION test_avg AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage'; @@ -7,11 +41,11 @@ EXPLAIN SELECT test_avg(1), test_avg(substr(value,5)) -FROM src; +FROM `s/c`; SELECT test_avg(1), test_avg(substr(value,5)) -FROM src; +FROM `s/c`; DROP TEMPORARY FUNCTIOn test_avg; diff --git a/ql/src/test/queries/clientpositive/create_genericudf.q b/ql/src/test/queries/clientpositive/create_genericudf.q index 1d43f30..c72dd3a 100644 --- a/ql/src/test/queries/clientpositive/create_genericudf.q +++ b/ql/src/test/queries/clientpositive/create_genericudf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TEMPORARY FUNCTION test_translate AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestTranslate'; @@ -5,7 +39,7 @@ CREATE TEMPORARY FUNCTION test_translate AS 'org.apache.hadoop.hive.ql.udf.gener CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING, c4 STRING, c5 STRING, c6 STRING, c7 STRING); -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT test_translate('abc', 'a', 'b'), diff --git a/ql/src/test/queries/clientpositive/create_insert_outputformat.q b/ql/src/test/queries/clientpositive/create_insert_outputformat.q index f18d688..d56b262 100644 --- a/ql/src/test/queries/clientpositive/create_insert_outputformat.q +++ b/ql/src/test/queries/clientpositive/create_insert_outputformat.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE table_test_output_format(key INT, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'; -FROM src -INSERT OVERWRITE TABLE table_test_output_format SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE table_test_output_format SELECT `s/c`.key, `s/c`.value LIMIT 10; describe table_test_output_format; @@ -14,8 +48,8 @@ CREATE TABLE table_test_output_format_sequencefile(key INT, value STRING) STORED INPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileInputFormat' OUTPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileOutputFormat'; -FROM src -INSERT OVERWRITE TABLE table_test_output_format_sequencefile SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE table_test_output_format_sequencefile SELECT `s/c`.key, `s/c`.value LIMIT 10; describe table_test_output_format_sequencefile; @@ -24,7 +58,7 @@ CREATE TABLE table_test_output_format_hivesequencefile(key INT, value STRING) ST INPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'; -FROM src -INSERT OVERWRITE TABLE table_test_output_format_hivesequencefile SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE table_test_output_format_hivesequencefile SELECT `s/c`.key, `s/c`.value LIMIT 10; describe table_test_output_format_hivesequencefile; diff --git a/ql/src/test/queries/clientpositive/create_like.q b/ql/src/test/queries/clientpositive/create_like.q index bd39731..0005fe8 100644 --- a/ql/src/test/queries/clientpositive/create_like.q +++ b/ql/src/test/queries/clientpositive/create_like.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + @@ -15,8 +49,8 @@ CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE table1; CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE table1; DESCRIBE FORMATTED table3; -INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86; -INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100; +INSERT OVERWRITE TABLE table1 SELECT key, value FROM `s/c` WHERE key = 86; +INSERT OVERWRITE TABLE table2 SELECT key, value FROM `s/c` WHERE key = 100; SELECT * FROM table1; SELECT * FROM table2; diff --git a/ql/src/test/queries/clientpositive/create_like2.q b/ql/src/test/queries/clientpositive/create_like2.q index 146467b..7bf7227 100644 --- a/ql/src/test/queries/clientpositive/create_like2.q +++ b/ql/src/test/queries/clientpositive/create_like2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests the copying over of Table Parameters according to a HiveConf setting -- when doing a CREATE TABLE LIKE. diff --git a/ql/src/test/queries/clientpositive/create_like_tbl_props.q b/ql/src/test/queries/clientpositive/create_like_tbl_props.q index 8f951d1..be48458 100644 --- a/ql/src/test/queries/clientpositive/create_like_tbl_props.q +++ b/ql/src/test/queries/clientpositive/create_like_tbl_props.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test that CREATE TABLE LIKE commands can take explicit table properties -CREATE TABLE test_table LIKE src TBLPROPERTIES('key'='value'); +CREATE TABLE test_table LIKE `s/c` TBLPROPERTIES('key'='value'); DESC FORMATTED test_table; @@ -8,13 +42,13 @@ set hive.table.parameters.default=key1=value1; --Test that CREATE TABLE LIKE commands can take default table properties -CREATE TABLE test_table1 LIKE src; +CREATE TABLE test_table1 LIKE `s/c`; DESC FORMATTED test_table1; -- Test that CREATE TABLE LIKE commands can take default and explicit table properties -CREATE TABLE test_table2 LIKE src TBLPROPERTIES('key2' = 'value2'); +CREATE TABLE test_table2 LIKE `s/c` TBLPROPERTIES('key2' = 'value2'); DESC FORMATTED test_table2; @@ -28,7 +62,7 @@ DESC FORMATTED test_table3; --Test that CREATE TALBE LIKE on a view can take explicit table properties -CREATE VIEW test_view (key, value) AS SELECT * FROM src; +CREATE VIEW test_view (key, value) AS SELECT * FROM `s/c`; CREATE TABLE test_table4 LIKE test_view TBLPROPERTIES('key'='value'); diff --git a/ql/src/test/queries/clientpositive/create_like_view.q b/ql/src/test/queries/clientpositive/create_like_view.q index 1ee4439..c12ce39 100644 --- a/ql/src/test/queries/clientpositive/create_like_view.q +++ b/ql/src/test/queries/clientpositive/create_like_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DROP TABLE IF EXISTS table1; @@ -23,8 +57,8 @@ CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1; DESCRIBE table3; DESCRIBE FORMATTED table3; -INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86; -INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100; +INSERT OVERWRITE TABLE table1 SELECT key, value FROM `s/c` WHERE key = 86; +INSERT OVERWRITE TABLE table2 SELECT key, value FROM `s/c` WHERE key = 100; SELECT * FROM table1; SELECT * FROM table2; @@ -34,7 +68,7 @@ DROP TABLE table2; DROP VIEW view1; -- check partitions -create view view1 partitioned on (ds, hr) as select * from srcpart; +create view view1 partitioned on (ds, hr) as select * from `s/cpart`; create table table1 like view1; describe formatted table1; DROP TABLE table1; diff --git a/ql/src/test/queries/clientpositive/create_merge_compressed.q b/ql/src/test/queries/clientpositive/create_merge_compressed.q index 483931b..740c177 100644 --- a/ql/src/test/queries/clientpositive/create_merge_compressed.q +++ b/ql/src/test/queries/clientpositive/create_merge_compressed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src_rc_merge_test(key int, value string) stored as rcfile; load data local inpath '../../data/files/smbbucket_1.rc' into table src_rc_merge_test; diff --git a/ql/src/test/queries/clientpositive/create_nested_type.q b/ql/src/test/queries/clientpositive/create_nested_type.q index 735b139..2ecd494 100644 --- a/ql/src/test/queries/clientpositive/create_nested_type.q +++ b/ql/src/test/queries/clientpositive/create_nested_type.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE table1 ( diff --git a/ql/src/test/queries/clientpositive/create_or_replace_view.q b/ql/src/test/queries/clientpositive/create_or_replace_view.q index 0148224..a24b2ce 100644 --- a/ql/src/test/queries/clientpositive/create_or_replace_view.q +++ b/ql/src/test/queries/clientpositive/create_or_replace_view.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database vt; -create view vt.v as select * from srcpart; +create view vt.v as select * from `s/cpart`; describe formatted vt.v; -- modifying definition of unpartitioned view -create or replace view vt.v partitioned on (ds, hr) as select * from srcpart; +create or replace view vt.v partitioned on (ds, hr) as select * from `s/cpart`; alter view vt.v add partition (ds='2008-04-08',hr='11'); alter view vt.v add partition (ds='2008-04-08',hr='12'); select * from vt.v where value='val_409' and ds='2008-04-08' and hr='11'; @@ -16,23 +50,23 @@ alter view vt.v drop partition (ds='2008-04-08',hr='12'); show partitions vt.v; -- altering partitioned view 1 -create or replace view vt.v partitioned on (ds, hr) as select value, ds, hr from srcpart; +create or replace view vt.v partitioned on (ds, hr) as select value, ds, hr from `s/cpart`; select * from vt.v where value='val_409' and ds='2008-04-08' and hr='11'; describe formatted vt.v; show partitions vt.v; -- altering partitioned view 2 -create or replace view vt.v partitioned on (ds, hr) as select key, value, ds, hr from srcpart; +create or replace view vt.v partitioned on (ds, hr) as select key, value, ds, hr from `s/cpart`; select * from vt.v where value='val_409' and ds='2008-04-08' and hr='11'; describe formatted vt.v; show partitions vt.v; drop view vt.v; -- updating to fix view with invalid definition -create table srcpart_temp like srcpart; +create table srcpart_temp like `s/cpart`; create view vt.v partitioned on (ds, hr) as select * from srcpart_temp; drop table srcpart_temp; -- vt.v is now invalid -create or replace view vt.v partitioned on (ds, hr) as select * from srcpart; +create or replace view vt.v partitioned on (ds, hr) as select * from `s/cpart`; describe formatted vt.v; drop view vt.v; diff --git a/ql/src/test/queries/clientpositive/create_skewed_table1.q b/ql/src/test/queries/clientpositive/create_skewed_table1.q index 5d3a48a..8ff0cbf 100644 --- a/ql/src/test/queries/clientpositive/create_skewed_table1.q +++ b/ql/src/test/queries/clientpositive/create_skewed_table1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; CREATE TABLE list_bucket_single (key STRING, value STRING) SKEWED BY (key) ON ('1','5','6'); CREATE TABLE list_bucket_single_2 (key STRING, value STRING) SKEWED BY (key) ON ((1),(5),(6)); diff --git a/ql/src/test/queries/clientpositive/create_struct_table.q b/ql/src/test/queries/clientpositive/create_struct_table.q index 1e5d151..a1612ca 100644 --- a/ql/src/test/queries/clientpositive/create_struct_table.q +++ b/ql/src/test/queries/clientpositive/create_struct_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table abc(strct struct) row format delimited diff --git a/ql/src/test/queries/clientpositive/create_udaf.q b/ql/src/test/queries/clientpositive/create_udaf.q index a6bd7a0..3f4c4e6 100644 --- a/ql/src/test/queries/clientpositive/create_udaf.q +++ b/ql/src/test/queries/clientpositive/create_udaf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TEMPORARY FUNCTION test_max AS 'org.apache.hadoop.hive.ql.udf.UDAFTestMax'; @@ -5,15 +39,15 @@ CREATE TEMPORARY FUNCTION test_max AS 'org.apache.hadoop.hive.ql.udf.UDAFTestMax CREATE TABLE dest1(col INT); -FROM src INSERT OVERWRITE TABLE dest1 SELECT test_max(length(src.value)); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT test_max(length(`s/c`.value)); SELECT dest1.* FROM dest1; -- cover all the other value types: -SELECT test_max(CAST(length(src.value) AS SMALLINT)) FROM src; -SELECT test_max(CAST(length(src.value) AS BIGINT)) FROM src; -SELECT test_max(CAST(length(src.value) AS DOUBLE)) FROM src; -SELECT test_max(CAST(length(src.value) AS FLOAT)) FROM src; -SELECT test_max(substr(src.value,5)) FROM src; +SELECT test_max(CAST(length(`s/c`.value) AS SMALLINT)) FROM `s/c`; +SELECT test_max(CAST(length(`s/c`.value) AS BIGINT)) FROM `s/c`; +SELECT test_max(CAST(length(`s/c`.value) AS DOUBLE)) FROM `s/c`; +SELECT test_max(CAST(length(`s/c`.value) AS FLOAT)) FROM `s/c`; +SELECT test_max(substr(`s/c`.value,5)) FROM `s/c`; DROP TEMPORARY FUNCTION test_max; diff --git a/ql/src/test/queries/clientpositive/create_union_table.q b/ql/src/test/queries/clientpositive/create_union_table.q index 6bc4d29..54dc53e 100644 --- a/ql/src/test/queries/clientpositive/create_union_table.q +++ b/ql/src/test/queries/clientpositive/create_union_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain create table abc(mydata uniontype,struct>, strct struct); diff --git a/ql/src/test/queries/clientpositive/create_view.q b/ql/src/test/queries/clientpositive/create_view.q index e08274c..c473984 100644 --- a/ql/src/test/queries/clientpositive/create_view.q +++ b/ql/src/test/queries/clientpositive/create_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP VIEW view1; DROP VIEW view2; DROP VIEW view3; @@ -19,19 +53,19 @@ DROP TEMPORARY FUNCTION test_max; DROP TEMPORARY FUNCTION test_explode; -SELECT * FROM src WHERE key=86; -CREATE VIEW view1 AS SELECT value FROM src WHERE key=86; -CREATE VIEW view2 AS SELECT * FROM src; +SELECT * FROM `s/c` WHERE key=86; +CREATE VIEW view1 AS SELECT value FROM `s/c` WHERE key=86; +CREATE VIEW view2 AS SELECT * FROM `s/c`; CREATE VIEW view3(valoo) TBLPROPERTIES ("fear" = "factor") -AS SELECT upper(value) FROM src WHERE key=86; +AS SELECT upper(value) FROM `s/c` WHERE key=86; SELECT * from view1; SELECT * from view2 where key=18; SELECT * from view3; -- test EXPLAIN output for CREATE VIEW EXPLAIN -CREATE VIEW view0(valoo) AS SELECT upper(value) FROM src WHERE key=86; +CREATE VIEW view0(valoo) AS SELECT upper(value) FROM `s/c` WHERE key=86; -- make sure EXPLAIN works with a query which references a view EXPLAIN @@ -64,7 +98,7 @@ DESCRIBE EXTENDED src1; DESCRIBE EXTENDED table1; -INSERT OVERWRITE TABLE table1 SELECT key FROM src WHERE key = 86; +INSERT OVERWRITE TABLE table1 SELECT key FROM `s/c` WHERE key = 86; SELECT * FROM table1; CREATE VIEW view4 AS SELECT * FROM table1; @@ -84,12 +118,12 @@ DESCRIBE view5; -- verify that column name and comment in DDL portion -- overrides column alias in SELECT CREATE VIEW view6(valoo COMMENT 'I cannot spell') AS -SELECT upper(value) as blarg FROM src WHERE key=86; +SELECT upper(value) as blarg FROM `s/c` WHERE key=86; DESCRIBE view6; -- verify that ORDER BY and LIMIT are both supported in view def CREATE VIEW view7 AS -SELECT * FROM src +SELECT * FROM `s/c` WHERE key > 80 AND key < 100 ORDER BY key, value LIMIT 10; @@ -124,7 +158,7 @@ set hive.map.aggr=false; -- disable map-side aggregation CREATE VIEW view9(m) AS SELECT test_max(length(value)) -FROM src; +FROM `s/c`; DESCRIBE EXTENDED view9; DESCRIBE FORMATTED view9; SELECT * FROM view9; @@ -133,14 +167,14 @@ set hive.map.aggr=true; -- enable map-side aggregation CREATE VIEW view9(m) AS SELECT test_max(length(value)) -FROM src; +FROM `s/c`; DESCRIBE EXTENDED view9; DESCRIBE FORMATTED view9; SELECT * FROM view9; -- test usage of a subselect within a view CREATE VIEW view10 AS -SELECT slurp.* FROM (SELECT * FROM src WHERE key=86) slurp; +SELECT slurp.* FROM (SELECT * FROM `s/c` WHERE key=86) slurp; DESCRIBE EXTENDED view10; DESCRIBE FORMATTED view10; SELECT * FROM view10; @@ -157,7 +191,7 @@ SELECT * FROM view11; -- test usage of LATERAL within a view CREATE VIEW view12 AS -SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol; +SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol; DESCRIBE EXTENDED view12; DESCRIBE FORMATTED view12; SELECT * FROM view12 @@ -180,13 +214,13 @@ ORDER BY key LIMIT 12; CREATE VIEW view14 AS SELECT unionsrc1.key as k1, unionsrc1.value as v1, unionsrc2.key as k2, unionsrc2.value as v2 -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2 where s2.key < 10) unionsrc1 + select s2.key as key, s2.value as value from `s/c` s2 where s2.key < 10) unionsrc1 JOIN - (select 'tst1' as key, cast(count(1) as string) as value from src s3 + (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s3 UNION ALL - select s4.key as key, s4.value as value from src s4 where s4.key < 10) unionsrc2 + select s4.key as key, s4.value as value from `s/c` s4 where s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); DESCRIBE EXTENDED view14; DESCRIBE FORMATTED view14; @@ -196,7 +230,7 @@ ORDER BY k1; -- test usage of GROUP BY within view CREATE VIEW view15 AS SELECT key,COUNT(value) AS value_count -FROM src +FROM `s/c` GROUP BY key; DESCRIBE EXTENDED view15; DESCRIBE FORMATTED view15; @@ -207,7 +241,7 @@ LIMIT 10; -- test usage of DISTINCT within view CREATE VIEW view16 AS SELECT DISTINCT value -FROM src; +FROM `s/c`; DESCRIBE EXTENDED view16; DESCRIBE FORMATTED view16; SELECT * FROM view16 diff --git a/ql/src/test/queries/clientpositive/create_view_partitioned.q b/ql/src/test/queries/clientpositive/create_view_partitioned.q index 5e30f91..a7ad524 100644 --- a/ql/src/test/queries/clientpositive/create_view_partitioned.q +++ b/ql/src/test/queries/clientpositive/create_view_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP VIEW vp1; DROP VIEW vp2; DROP VIEW vp3; @@ -8,7 +42,7 @@ CREATE VIEW vp1 PARTITIONED ON (value) AS SELECT key, value -FROM src +FROM `s/c` WHERE key=86; DESCRIBE EXTENDED vp1; DESCRIBE FORMATTED vp1; @@ -59,7 +93,7 @@ SET hive.mapred.mode=nonstrict; -- but with only a suffix of the partitioning columns CREATE VIEW vp2 PARTITIONED ON (hr) -AS SELECT * FROM srcpart WHERE key < 10; +AS SELECT * FROM `s/cpart` WHERE key < 10; DESCRIBE FORMATTED vp2; ALTER VIEW vp2 ADD PARTITION (hr='11') PARTITION (hr='12'); @@ -71,7 +105,7 @@ CREATE VIEW vp3(k,v) PARTITIONED ON (v) AS SELECT key, value -FROM src +FROM `s/c` WHERE key=86; DESCRIBE FORMATTED vp3; diff --git a/ql/src/test/queries/clientpositive/create_view_translate.q b/ql/src/test/queries/clientpositive/create_view_translate.q index 11ba9c8..97e84ed 100644 --- a/ql/src/test/queries/clientpositive/create_view_translate.q +++ b/ql/src/test/queries/clientpositive/create_view_translate.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop view if exists v; drop view if exists w; -create view v as select cast(key as string) from src; +create view v as select cast(key as string) from `s/c`; describe formatted v; create view w as select key, value from ( - select key, value from src + select key, value from `s/c` ) a; describe formatted w; diff --git a/ql/src/test/queries/clientpositive/cross_join.q b/ql/src/test/queries/clientpositive/cross_join.q index 8eb949e..7e9ec3a 100644 --- a/ql/src/test/queries/clientpositive/cross_join.q +++ b/ql/src/test/queries/clientpositive/cross_join.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- current -explain select src.key from src join src src2; +explain select `s/c`.key from `s/c` join `s/c` src2; -- ansi cross join -explain select src.key from src cross join src src2; +explain select `s/c`.key from `s/c` cross join `s/c` src2; -- appending condition is allowed -explain select src.key from src cross join src src2 on src.key=src2.key; +explain select `s/c`.key from `s/c` cross join `s/c` src2 on `s/c`.key=src2.key; diff --git a/ql/src/test/queries/clientpositive/cross_product_check_1.q b/ql/src/test/queries/clientpositive/cross_product_check_1.q index e39912b..702e1b1 100644 --- a/ql/src/test/queries/clientpositive/cross_product_check_1.q +++ b/ql/src/test/queries/clientpositive/cross_product_check_1.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS create table A as -select * from src; +select * from `s/c`; create table B as -select * from src +select * from `s/c` limit 10; set hive.auto.convert.join.noconditionaltask.size=100; diff --git a/ql/src/test/queries/clientpositive/cross_product_check_2.q b/ql/src/test/queries/clientpositive/cross_product_check_2.q index d7d251f..f3c6509 100644 --- a/ql/src/test/queries/clientpositive/cross_product_check_2.q +++ b/ql/src/test/queries/clientpositive/cross_product_check_2.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS create table A as -select * from src; +select * from `s/c`; create table B as -select * from src order by key +select * from `s/c` order by key limit 10; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/crtseltbl_serdeprops.q b/ql/src/test/queries/clientpositive/crtseltbl_serdeprops.q index 6e73bc2..8a5a300 100644 --- a/ql/src/test/queries/clientpositive/crtseltbl_serdeprops.q +++ b/ql/src/test/queries/clientpositive/crtseltbl_serdeprops.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/tmpsepatest; CREATE TABLE separator_test ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' @@ -6,6 +40,6 @@ WITH SERDEPROPERTIES ("separatorChar" = "|","quoteChar"="\"","escapeChar"=" STORED AS TEXTFILE LOCATION 'file:${system:test.tmp.dir}/tmpsepatest' AS -SELECT * FROM src where key = 100 limit 1; +SELECT * FROM `s/c` where key = 100 limit 1; dfs -cat ${system:test.tmp.dir}/tmpsepatest/000000_0; drop table separator_test; diff --git a/ql/src/test/queries/clientpositive/ct_case_insensitive.q b/ql/src/test/queries/clientpositive/ct_case_insensitive.q index 00e9722..e18d39b 100644 --- a/ql/src/test/queries/clientpositive/ct_case_insensitive.q +++ b/ql/src/test/queries/clientpositive/ct_case_insensitive.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tmp_pyang_bucket3 (userId INT) CLUSTERED BY (userid) INTO 32 BUCKETS; DROP TABLE tmp_pyang_bucket3; CREATE TABLE tmp_pyang_bucket3 (userId INT) CLUSTERED BY (userid) SORTED BY (USERID) INTO 32 BUCKETS; diff --git a/ql/src/test/queries/clientpositive/ctas.q b/ql/src/test/queries/clientpositive/ctas.q index edd1f6a..56160ba 100644 --- a/ql/src/test/queries/clientpositive/ctas.q +++ b/ql/src/test/queries/clientpositive/ctas.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- EXCLUDE_HADOOP_MAJOR_VERSIONS( 0.20S) -- SORT_QUERY_RESULTS @@ -5,60 +39,60 @@ set hive.explain.user=false; create table nzhang_Tmp(a int, b string); select * from nzhang_Tmp; -explain create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; +explain create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; -create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; +create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; select * from nzhang_CTAS1; describe formatted nzhang_CTAS1; -explain create table nzhang_ctas2 as select * from src sort by key, value limit 10; +explain create table nzhang_ctas2 as select * from `s/c` sort by key, value limit 10; -create table nzhang_ctas2 as select * from src sort by key, value limit 10; +create table nzhang_ctas2 as select * from `s/c` sort by key, value limit 10; select * from nzhang_ctas2; describe formatted nzhang_CTAS2; -explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; -create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; select * from nzhang_ctas3; describe formatted nzhang_CTAS3; -explain create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +explain create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; -create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; select * from nzhang_ctas3; describe formatted nzhang_CTAS3; -explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10; +explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from `s/c` sort by key, value limit 10; -create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10; +create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from `s/c` sort by key, value limit 10; select * from nzhang_ctas4; describe formatted nzhang_CTAS4; -explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10; +explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from `s/c` sort by key, value limit 10; set mapreduce.framework.name=yarn; set mapreduce.jobtracker.address=localhost:58; set hive.exec.mode.local.auto=true; -create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10; +create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from `s/c` sort by key, value limit 10; create table nzhang_ctas6 (key string, `to` string); -insert overwrite table nzhang_ctas6 select key, value from src tablesample (10 rows); +insert overwrite table nzhang_ctas6 select key, value from `s/c` tablesample (10 rows); create table nzhang_ctas7 as select key, `to` from nzhang_ctas6; diff --git a/ql/src/test/queries/clientpositive/ctas_char.q b/ql/src/test/queries/clientpositive/ctas_char.q index ecfe74a..7fc2c13 100644 --- a/ql/src/test/queries/clientpositive/ctas_char.q +++ b/ql/src/test/queries/clientpositive/ctas_char.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ctas_char_1; drop table ctas_char_2; drop view ctas_char_3; create table ctas_char_1 (key char(10), value string); insert overwrite table ctas_char_1 - select key, value from src sort by key, value limit 5; + select key, value from `s/c` sort by key, value limit 5; -- create table as with char column create table ctas_char_2 as select key, value from ctas_char_1; diff --git a/ql/src/test/queries/clientpositive/ctas_colname.q b/ql/src/test/queries/clientpositive/ctas_colname.q index d794e99..1c1cfcf 100644 --- a/ql/src/test/queries/clientpositive/ctas_colname.q +++ b/ql/src/test/queries/clientpositive/ctas_colname.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- HIVE-4392, column aliases from expressionRR (GBY, etc.) are not valid name for table @@ -6,8 +40,8 @@ explain -create table summary as select *, key + 1, concat(value, value) from src limit 20; -create table summary as select *, key + 1, concat(value, value) from src limit 20; +create table summary as select *, key + 1, concat(value, value) from `s/c` limit 20; +create table summary as select *, key + 1, concat(value, value) from `s/c` limit 20; describe formatted summary; select * from summary; @@ -19,8 +53,8 @@ describe formatted x4; select * from x4; explain -create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from src limit 20; -create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from src limit 20; +create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from `s/c` limit 20; +create table x5 as select *, lead(key,1) over(partition by key order by value) as lead1 from `s/c` limit 20; describe formatted x5; select * from x5; @@ -32,20 +66,20 @@ describe formatted x6; select * from x6; explain -create table x7 as select * from (select *, count(value) from src group by key, value) a; -create table x7 as select * from (select *, count(value) from src group by key, value) a; +create table x7 as select * from (select *, count(value) from `s/c` group by key, value) a; +create table x7 as select * from (select *, count(value) from `s/c` group by key, value) a; describe formatted x7; select * from x7; explain -create table x8 as select * from (select *, count(value) from src group by key, value having key < 9) a; -create table x8 as select * from (select *, count(value) from src group by key, value having key < 9) a; +create table x8 as select * from (select *, count(value) from `s/c` group by key, value having key < 9) a; +create table x8 as select * from (select *, count(value) from `s/c` group by key, value having key < 9) a; describe formatted x8; select * from x8; explain -create table x9 as select * from (select max(value),key from src group by key having key < 9 AND max(value) IS NOT NULL) a; -create table x9 as select * from (select max(value),key from src group by key having key < 9 AND max(value) IS NOT NULL) a; +create table x9 as select * from (select max(value),key from `s/c` group by key having key < 9 AND max(value) IS NOT NULL) a; +create table x9 as select * from (select max(value),key from `s/c` group by key having key < 9 AND max(value) IS NOT NULL) a; describe formatted x9; select * from x9; diff --git a/ql/src/test/queries/clientpositive/ctas_date.q b/ql/src/test/queries/clientpositive/ctas_date.q index 03af69f..19b86d1 100644 --- a/ql/src/test/queries/clientpositive/ctas_date.q +++ b/ql/src/test/queries/clientpositive/ctas_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ctas_date_1; drop table ctas_date_2; drop view ctas_date_3; @@ -5,7 +39,7 @@ drop view ctas_date_4; create table ctas_date_1 (key int, value string, dd date); insert overwrite table ctas_date_1 - select key, value, date '2012-01-01' from src sort by key, value limit 5; + select key, value, date '2012-01-01' from `s/c` sort by key, value limit 5; -- create table as with date column create table ctas_date_2 as select key, value, dd, date '1980-12-12' from ctas_date_1; diff --git a/ql/src/test/queries/clientpositive/ctas_hadoop20.q b/ql/src/test/queries/clientpositive/ctas_hadoop20.q index e275b7b..e260513 100644 --- a/ql/src/test/queries/clientpositive/ctas_hadoop20.q +++ b/ql/src/test/queries/clientpositive/ctas_hadoop20.q @@ -1,61 +1,95 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20S) create table nzhang_Tmp(a int, b string); select * from nzhang_Tmp; -explain create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; +explain create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; -create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; +create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; select * from nzhang_CTAS1; describe formatted nzhang_CTAS1; -explain create table nzhang_ctas2 as select * from src sort by key, value limit 10; +explain create table nzhang_ctas2 as select * from `s/c` sort by key, value limit 10; -create table nzhang_ctas2 as select * from src sort by key, value limit 10; +create table nzhang_ctas2 as select * from `s/c` sort by key, value limit 10; select * from nzhang_ctas2; describe formatted nzhang_CTAS2; -explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; -create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; select * from nzhang_ctas3; describe formatted nzhang_CTAS3; -explain create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +explain create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; -create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; select * from nzhang_ctas3; describe formatted nzhang_CTAS3; -explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10; +explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from `s/c` sort by key, value limit 10; -create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10; +create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from `s/c` sort by key, value limit 10; select * from nzhang_ctas4; describe formatted nzhang_CTAS4; -explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10; +explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from `s/c` sort by key, value limit 10; set mapred.job.tracker=localhost:58; set hive.exec.mode.local.auto=true; -create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10; +create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from `s/c` sort by key, value limit 10; create table nzhang_ctas6 (key string, `to` string); -insert overwrite table nzhang_ctas6 select key, value from src limit 10; +insert overwrite table nzhang_ctas6 select key, value from `s/c` limit 10; create table nzhang_ctas7 as select key, `to` from nzhang_ctas6; create table nzhang_ctas8 as select 3.14BD from nzhang_ctas6 limit 1; diff --git a/ql/src/test/queries/clientpositive/ctas_uses_database_location.q b/ql/src/test/queries/clientpositive/ctas_uses_database_location.q index 86c940a..6cf184b 100644 --- a/ql/src/test/queries/clientpositive/ctas_uses_database_location.q +++ b/ql/src/test/queries/clientpositive/ctas_uses_database_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.metastore.warehouse.dir=invalid_scheme://${system:test.tmp.dir}; -- Tests that CTAS queries in non-default databases use the location of the database @@ -8,7 +42,7 @@ CREATE DATABASE db1 LOCATION 'pfile://${system:test.tmp.dir}/db1'; USE db1; -EXPLAIN CREATE TABLE table_db1 AS SELECT * FROM default.src; -CREATE TABLE table_db1 AS SELECT * FROM default.src; +EXPLAIN CREATE TABLE table_db1 AS SELECT * FROM default.`s/c`; +CREATE TABLE table_db1 AS SELECT * FROM default.`s/c`; DESCRIBE FORMATTED table_db1; diff --git a/ql/src/test/queries/clientpositive/ctas_varchar.q b/ql/src/test/queries/clientpositive/ctas_varchar.q index f646b36..90f4912 100644 --- a/ql/src/test/queries/clientpositive/ctas_varchar.q +++ b/ql/src/test/queries/clientpositive/ctas_varchar.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table ctas_varchar_1; drop table ctas_varchar_2; drop view ctas_varchar_3; create table ctas_varchar_1 (key varchar(10), value string); insert overwrite table ctas_varchar_1 - select key, value from src sort by key, value limit 5; + select key, value from `s/c` sort by key, value limit 5; -- create table as with varchar column create table ctas_varchar_2 as select key, value from ctas_varchar_1; diff --git a/ql/src/test/queries/clientpositive/cteViews.q b/ql/src/test/queries/clientpositive/cteViews.q index c076841..a0ea200 100644 --- a/ql/src/test/queries/clientpositive/cteViews.q +++ b/ql/src/test/queries/clientpositive/cteViews.q @@ -1,9 +1,43 @@ -with src1 as (select key from src order by key limit 5) +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +with src1 as (select key from `s/c` order by key limit 5) select * from src1; use default; drop view v; -create view v as with cte as (select key, value from src order by key limit 5) +create view v as with cte as (select key, value from `s/c` order by key limit 5) select key from cte; describe extended v; @@ -15,7 +49,7 @@ drop database bug; use default; drop view v; -create view v as with cte as (select * from src order by key limit 5) +create view v as with cte as (select * from `s/c` order by key limit 5) select * from cte; describe extended v; @@ -28,7 +62,7 @@ drop database bug; use default; drop view v; -create view v as with src1 as (select key from src order by key limit 5) +create view v as with src1 as (select key from `s/c` order by key limit 5) select * from src1; describe extended v; diff --git a/ql/src/test/queries/clientpositive/cte_1.q b/ql/src/test/queries/clientpositive/cte_1.q index ca4132f..3bb7fbb 100644 --- a/ql/src/test/queries/clientpositive/cte_1.q +++ b/ql/src/test/queries/clientpositive/cte_1.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from q1 ; -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from q1 ; -- in subquery explain -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from (select key from q1) a; -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from (select key from q1) a; -- chaining explain with q1 as ( select key from q2 where key = '5'), -q2 as ( select key from src where key = '5') +q2 as ( select key from `s/c` where key = '5') select * from (select key from q1) a; with q1 as ( select key from q2 where key = '5'), -q2 as ( select key from src where key = '5') +q2 as ( select key from `s/c` where key = '5') select * from (select key from q1) a; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/cte_2.q b/ql/src/test/queries/clientpositive/cte_2.q index b49620a..1d7bd44 100644 --- a/ql/src/test/queries/clientpositive/cte_2.q +++ b/ql/src/test/queries/clientpositive/cte_2.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- union test -with q1 as (select * from src where key= '5'), -q2 as (select * from src s2 where key = '4') +with q1 as (select * from `s/c` where key= '5'), +q2 as (select * from `s/c` s2 where key = '4') select * from q1 union all select * from q2 ; -- insert test -create table s1 like src; -with q1 as ( select key, value from src where key = '5') +create table s1 like `s/c`; +with q1 as ( select key, value from `s/c` where key = '5') from q1 insert overwrite table s1 select * @@ -16,14 +50,14 @@ select * from s1; drop table s1; -- from style -with q1 as (select * from src where key= '5') +with q1 as (select * from `s/c` where key= '5') from q1 select * ; -- ctas create table s2 as -with q1 as ( select key from src where key = '4') +with q1 as ( select key from `s/c` where key = '4') select * from q1 ; @@ -32,7 +66,7 @@ drop table s2; -- view test create view v1 as -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from q1 ; @@ -43,11 +77,11 @@ drop view v1; -- view test, name collision create view v1 as -with q1 as ( select key from src where key = '5') +with q1 as ( select key from `s/c` where key = '5') select * from q1 ; -with q1 as ( select key from src where key = '4') +with q1 as ( select key from `s/c` where key = '4') select * from v1 ; diff --git a/ql/src/test/queries/clientpositive/current_date_timestamp.q b/ql/src/test/queries/clientpositive/current_date_timestamp.q index 9bed885..bb4005b 100644 --- a/ql/src/test/queries/clientpositive/current_date_timestamp.q +++ b/ql/src/test/queries/clientpositive/current_date_timestamp.q @@ -1,4 +1,38 @@ -select current_timestamp = current_timestamp(), current_date = current_date() from src limit 5; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +select current_timestamp = current_timestamp(), current_date = current_date() from `s/c` limit 5; set hive.test.currenttimestamp =2012-01-01 01:02:03; -select current_date, current_timestamp from src limit 5; +select current_date, current_timestamp from `s/c` limit 5; diff --git a/ql/src/test/queries/clientpositive/custom_input_output_format.q b/ql/src/test/queries/clientpositive/custom_input_output_format.q index 949303a..db63722 100644 --- a/ql/src/test/queries/clientpositive/custom_input_output_format.q +++ b/ql/src/test/queries/clientpositive/custom_input_output_format.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE src1_rot13_iof(key STRING, value STRING) diff --git a/ql/src/test/queries/clientpositive/database.q b/ql/src/test/queries/clientpositive/database.q index 7860af5..887f767 100644 --- a/ql/src/test/queries/clientpositive/database.q +++ b/ql/src/test/queries/clientpositive/database.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency = true; -- SORT_QUERY_RESULTS @@ -75,18 +109,18 @@ SELECT * FROM test_table; -- CREATE table that already exists in DEFAULT USE test_db; -CREATE TABLE src (col1 STRING) STORED AS TEXTFILE; +CREATE TABLE `s/c` (col1 STRING) STORED AS TEXTFILE; SHOW TABLES; -SELECT * FROM src LIMIT 10; +SELECT * FROM `s/c` LIMIT 10; USE default; -SELECT * FROM src LIMIT 10; +SELECT * FROM `s/c` LIMIT 10; -- DROP DATABASE USE test_db; -DROP TABLE src; +DROP TABLE `s/c`; DROP TABLE test_table; DROP TABLE test_table_like; SHOW TABLES; @@ -144,42 +178,42 @@ CREATE DATABASE db1; CREATE DATABASE db2; -- CREATE foreign table -CREATE TABLE db1.src(key STRING, value STRING) +CREATE TABLE db1.`s/c`(key STRING, value STRING) STORED AS TEXTFILE; -- LOAD into foreign table LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' -OVERWRITE INTO TABLE db1.src; +OVERWRITE INTO TABLE db1.`s/c`; -- SELECT from foreign table -SELECT * FROM db1.src; +SELECT * FROM db1.`s/c`; -- CREATE Partitioned foreign table -CREATE TABLE db1.srcpart(key STRING, value STRING) +CREATE TABLE db1.`s/cpart`(key STRING, value STRING) PARTITIONED BY (ds STRING, hr STRING) STORED AS TEXTFILE; -- LOAD data into Partitioned foreign table LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' -OVERWRITE INTO TABLE db1.srcpart +OVERWRITE INTO TABLE db1.`s/cpart` PARTITION (ds='2008-04-08', hr='11'); -- SELECT from Partitioned foreign table -SELECT key, value FROM db1.srcpart +SELECT key, value FROM db1.`s/cpart` WHERE key < 100 AND ds='2008-04-08' AND hr='11'; -- SELECT JOINed product of two foreign tables USE db2; -SELECT a.* FROM db1.src a JOIN default.src1 b +SELECT a.* FROM db1.`s/c` a JOIN default.src1 b ON (a.key = b.key); -- CREATE TABLE AS SELECT from foreign table CREATE TABLE conflict_name AS -SELECT value FROM default.src WHERE key = 66; +SELECT value FROM default.`s/c` WHERE key = 66; -- CREATE foreign table CREATE TABLE db1.conflict_name AS -SELECT value FROM db1.src WHERE key = 8; +SELECT value FROM db1.`s/c` WHERE key = 8; -- query tables with the same names in different DBs SELECT * FROM ( @@ -200,19 +234,19 @@ CREATE TABLE bucketized_src (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 1 BUCKETS; INSERT OVERWRITE TABLE bucketized_src -SELECT key, value FROM src WHERE key=66; +SELECT key, value FROM `s/c` WHERE key=66; SELECT key FROM bucketized_src TABLESAMPLE(BUCKET 1 out of 1); -- CREATE TABLE LIKE -CREATE TABLE db2.src1 LIKE default.src; +CREATE TABLE db2.src1 LIKE default.`s/c`; USE db2; DESC EXTENDED src1; -- character escaping -SELECT key FROM `default`.src ORDER BY key LIMIT 1; -SELECT key FROM `default`.`src` ORDER BY key LIMIT 1; -SELECT key FROM default.`src` ORDER BY key LIMIT 1; +SELECT key FROM `default`.`s/c` ORDER BY key LIMIT 1; +SELECT key FROM `default`.``s/c`` ORDER BY key LIMIT 1; +SELECT key FROM default.``s/c`` ORDER BY key LIMIT 1; USE default; diff --git a/ql/src/test/queries/clientpositive/database_drop.q b/ql/src/test/queries/clientpositive/database_drop.q index c8f6b0a..f79e31d 100644 --- a/ql/src/test/queries/clientpositive/database_drop.q +++ b/ql/src/test/queries/clientpositive/database_drop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- create database with multiple tables, indexes and views. -- Use both partitioned and non-partitioned tables, as well as -- tables and indexes with specific storage locations diff --git a/ql/src/test/queries/clientpositive/database_location.q b/ql/src/test/queries/clientpositive/database_location.q index e131b5f..a41beba 100644 --- a/ql/src/test/queries/clientpositive/database_location.q +++ b/ql/src/test/queries/clientpositive/database_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE db1; DESCRIBE DATABASE EXTENDED db1; diff --git a/ql/src/test/queries/clientpositive/database_properties.q b/ql/src/test/queries/clientpositive/database_properties.q index 7f3b239..2f779b5 100644 --- a/ql/src/test/queries/clientpositive/database_properties.q +++ b/ql/src/test/queries/clientpositive/database_properties.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set datanucleus.cache.collections.lazy=false; diff --git a/ql/src/test/queries/clientpositive/date_1.q b/ql/src/test/queries/clientpositive/date_1.q index 7d89ac9..a7d79c0 100644 --- a/ql/src/test/queries/clientpositive/date_1.q +++ b/ql/src/test/queries/clientpositive/date_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table date_1; @@ -5,19 +39,19 @@ drop table date_1; create table date_1 (d date); insert overwrite table date_1 - select cast('2011-01-01' as date) from src tablesample (1 rows); + select cast('2011-01-01' as date) from `s/c` tablesample (1 rows); select * from date_1 limit 1; select d, count(d) from date_1 group by d; insert overwrite table date_1 - select date '2011-01-01' from src tablesample (1 rows); + select date '2011-01-01' from `s/c` tablesample (1 rows); select * from date_1 limit 1; select d, count(d) from date_1 group by d; insert overwrite table date_1 - select cast(cast('2011-01-01 00:00:00' as timestamp) as date) from src tablesample (1 rows); + select cast(cast('2011-01-01 00:00:00' as timestamp) as date) from `s/c` tablesample (1 rows); select * from date_1 limit 1; select d, count(d) from date_1 group by d; diff --git a/ql/src/test/queries/clientpositive/date_2.q b/ql/src/test/queries/clientpositive/date_2.q index c5346c8..e1d3f08 100644 --- a/ql/src/test/queries/clientpositive/date_2.q +++ b/ql/src/test/queries/clientpositive/date_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists date_2; create table date_2 ( diff --git a/ql/src/test/queries/clientpositive/date_3.q b/ql/src/test/queries/clientpositive/date_3.q index 383fb4e..6cb92b9 100644 --- a/ql/src/test/queries/clientpositive/date_3.q +++ b/ql/src/test/queries/clientpositive/date_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table date_3; create table date_3 ( @@ -7,7 +41,7 @@ create table date_3 ( alter table date_3 add columns (c2 date); insert overwrite table date_3 - select 1, cast(cast('2011-01-01 00:00:00' as timestamp) as date) from src tablesample (1 rows); + select 1, cast(cast('2011-01-01 00:00:00' as timestamp) as date) from `s/c` tablesample (1 rows); select * from date_3; diff --git a/ql/src/test/queries/clientpositive/date_4.q b/ql/src/test/queries/clientpositive/date_4.q index c840089..0f46970 100644 --- a/ql/src/test/queries/clientpositive/date_4.q +++ b/ql/src/test/queries/clientpositive/date_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table date_4; @@ -7,7 +41,7 @@ alter table date_4 set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe -- Test date literal syntax insert overwrite table date_4 - select date '2011-01-01' from src tablesample (1 rows); + select date '2011-01-01' from `s/c` tablesample (1 rows); select d, date '2011-01-01' from date_4 limit 1; drop table date_4; diff --git a/ql/src/test/queries/clientpositive/date_comparison.q b/ql/src/test/queries/clientpositive/date_comparison.q index 86c7362..979574d 100644 --- a/ql/src/test/queries/clientpositive/date_comparison.q +++ b/ql/src/test/queries/clientpositive/date_comparison.q @@ -1,40 +1,74 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Comparisons against same value select cast('2011-05-06' as date) > - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-06' as date) < - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-06' as date) = - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-06' as date) <> - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-06' as date) >= - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-06' as date) <= - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; -- Now try with differing values select cast('2011-05-05' as date) > - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-05' as date) < - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-05' as date) = - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-05' as date) <> - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-05' as date) >= - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; select cast('2011-05-05' as date) <= - cast('2011-05-06' as date) from src limit 1; + cast('2011-05-06' as date) from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/date_join1.q b/ql/src/test/queries/clientpositive/date_join1.q index 7bb7a0d..321d486 100644 --- a/ql/src/test/queries/clientpositive/date_join1.q +++ b/ql/src/test/queries/clientpositive/date_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table date_join1; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/date_serde.q b/ql/src/test/queries/clientpositive/date_serde.q index 24b4820..e55754b 100644 --- a/ql/src/test/queries/clientpositive/date_serde.q +++ b/ql/src/test/queries/clientpositive/date_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists date_serde_regex; drop table date_serde_lb; drop table date_serde_ls; diff --git a/ql/src/test/queries/clientpositive/date_udf.q b/ql/src/test/queries/clientpositive/date_udf.q index c55b9f9..79b2392 100644 --- a/ql/src/test/queries/clientpositive/date_udf.q +++ b/ql/src/test/queries/clientpositive/date_udf.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table date_udf; drop table date_udf_string; drop table date_udf_flight; create table date_udf (d date); create table date_udf_string (d string); -from src +from `s/c` insert overwrite table date_udf select '2011-05-06' limit 1 insert overwrite table date_udf_string diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_compact1.q b/ql/src/test/queries/clientpositive/dbtxnmgr_compact1.q index 7f71305..86f1cc1 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_compact1.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_compact1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_compact2.q b/ql/src/test/queries/clientpositive/dbtxnmgr_compact2.q index 4759d65..097da53 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_compact2.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_compact2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_compact3.q b/ql/src/test/queries/clientpositive/dbtxnmgr_compact3.q index 23b3959..79249c0 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_compact3.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_compact3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_ddl1.q b/ql/src/test/queries/clientpositive/dbtxnmgr_ddl1.q index 23076a9..23e86b4 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_ddl1.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_ddl1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_query1.q b/ql/src/test/queries/clientpositive/dbtxnmgr_query1.q index 970069a..06b6773 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_query1.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_query1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_query2.q b/ql/src/test/queries/clientpositive/dbtxnmgr_query2.q index 00942e5..c550a91 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_query2.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_query2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_query3.q b/ql/src/test/queries/clientpositive/dbtxnmgr_query3.q index 75b642b..78b17c8 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_query3.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_query3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_query4.q b/ql/src/test/queries/clientpositive/dbtxnmgr_query4.q index 57eb442..d958a29 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_query4.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_query4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.exec.dynamic.partition.mode=nonstrict; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_query5.q b/ql/src/test/queries/clientpositive/dbtxnmgr_query5.q index d22b98f..23575f8 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_query5.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_query5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/dbtxnmgr_showlocks.q b/ql/src/test/queries/clientpositive/dbtxnmgr_showlocks.q index 30b26f4..82a54a4 100644 --- a/ql/src/test/queries/clientpositive/dbtxnmgr_showlocks.q +++ b/ql/src/test/queries/clientpositive/dbtxnmgr_showlocks.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/ddltime.q b/ql/src/test/queries/clientpositive/ddltime.q index 3eead6f..6d37545 100644 --- a/ql/src/test/queries/clientpositive/ddltime.q +++ b/ql/src/test/queries/clientpositive/ddltime.q @@ -1,44 +1,78 @@ -create table T1 like src; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +create table T1 like `s/c`; desc extended T1; !sleep 1; -insert overwrite table T1 select * from src; +insert overwrite table T1 select * from `s/c`; desc extended T1; !sleep 1; -insert overwrite table T1 select /*+ HOLD_DDLTIME*/ * from src; +insert overwrite table T1 select /*+ HOLD_DDLTIME*/ * from `s/c`; desc extended T1; !sleep 1; -insert overwrite table T1 select * from src; +insert overwrite table T1 select * from `s/c`; desc extended T1; -create table if not exists T2 like srcpart; +create table if not exists T2 like `s/cpart`; desc extended T2; !sleep 1; -insert overwrite table T2 partition (ds = '2010-06-21', hr = '1') select key, value from src where key > 10; +insert overwrite table T2 partition (ds = '2010-06-21', hr = '1') select key, value from `s/c` where key > 10; desc extended T2 partition (ds = '2010-06-21', hr = '1'); !sleep 1; -insert overwrite table T2 partition (ds = '2010-06-21', hr='1') select /*+ HOLD_DDLTIME */ key, value from src where key > 10; +insert overwrite table T2 partition (ds = '2010-06-21', hr='1') select /*+ HOLD_DDLTIME */ key, value from `s/c` where key > 10; desc extended T2 partition (ds = '2010-06-21', hr = '1'); !sleep 1; -insert overwrite table T2 partition (ds='2010-06-01', hr='1') select key, value from src where key > 10; +insert overwrite table T2 partition (ds='2010-06-01', hr='1') select key, value from `s/c` where key > 10; desc extended T2 partition(ds='2010-06-01', hr='1'); diff --git a/ql/src/test/queries/clientpositive/decimal_1.q b/ql/src/test/queries/clientpositive/decimal_1.q index f52b192..70b0101 100644 --- a/ql/src/test/queries/clientpositive/decimal_1.q +++ b/ql/src/test/queries/clientpositive/decimal_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table if exists decimal_1; @@ -8,7 +42,7 @@ alter table decimal_1 set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSe desc decimal_1; insert overwrite table decimal_1 - select cast('17.29' as decimal(4,2)), 3.1415926BD, 3115926.54321BD from src tablesample (1 rows); + select cast('17.29' as decimal(4,2)), 3.1415926BD, 3115926.54321BD from `s/c` tablesample (1 rows); select cast(t as boolean) from decimal_1; select cast(t as tinyint) from decimal_1; select cast(t as smallint) from decimal_1; diff --git a/ql/src/test/queries/clientpositive/decimal_10_0.q b/ql/src/test/queries/clientpositive/decimal_10_0.q index c3e031d..b30a8f1 100644 --- a/ql/src/test/queries/clientpositive/decimal_10_0.q +++ b/ql/src/test/queries/clientpositive/decimal_10_0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS `DECIMAL`; CREATE TABLE `DECIMAL` (dec decimal); diff --git a/ql/src/test/queries/clientpositive/decimal_2.q b/ql/src/test/queries/clientpositive/decimal_2.q index 2c4d919..ca9f461 100644 --- a/ql/src/test/queries/clientpositive/decimal_2.q +++ b/ql/src/test/queries/clientpositive/decimal_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table decimal_2; @@ -6,7 +40,7 @@ create table decimal_2 (t decimal(18,9)); alter table decimal_2 set serde 'org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe'; insert overwrite table decimal_2 - select cast('17.29' as decimal(4,2)) from src tablesample (1 rows); + select cast('17.29' as decimal(4,2)) from `s/c` tablesample (1 rows); select cast(t as boolean) from decimal_2; select cast(t as tinyint) from decimal_2; @@ -18,7 +52,7 @@ select cast(t as double) from decimal_2; select cast(t as string) from decimal_2; insert overwrite table decimal_2 - select cast('3404045.5044003' as decimal(18,9)) from src tablesample (1 rows); + select cast('3404045.5044003' as decimal(18,9)) from `s/c` tablesample (1 rows); select cast(t as boolean) from decimal_2; select cast(t as tinyint) from decimal_2; diff --git a/ql/src/test/queries/clientpositive/decimal_3.q b/ql/src/test/queries/clientpositive/decimal_3.q index e4fba06..423b7b6 100644 --- a/ql/src/test/queries/clientpositive/decimal_3.q +++ b/ql/src/test/queries/clientpositive/decimal_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_3; CREATE TABLE DECIMAL_3(key decimal(38,18), value int) diff --git a/ql/src/test/queries/clientpositive/decimal_4.q b/ql/src/test/queries/clientpositive/decimal_4.q index 699ba3c..e462438 100644 --- a/ql/src/test/queries/clientpositive/decimal_4.q +++ b/ql/src/test/queries/clientpositive/decimal_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_4_1; DROP TABLE IF EXISTS DECIMAL_4_2; diff --git a/ql/src/test/queries/clientpositive/decimal_5.q b/ql/src/test/queries/clientpositive/decimal_5.q index 70e5db0..e2a55b3 100644 --- a/ql/src/test/queries/clientpositive/decimal_5.q +++ b/ql/src/test/queries/clientpositive/decimal_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_5; CREATE TABLE DECIMAL_5(key decimal(10,5), value int) diff --git a/ql/src/test/queries/clientpositive/decimal_6.q b/ql/src/test/queries/clientpositive/decimal_6.q index b58e224..bbf2d54 100644 --- a/ql/src/test/queries/clientpositive/decimal_6.q +++ b/ql/src/test/queries/clientpositive/decimal_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_6_1; DROP TABLE IF EXISTS DECIMAL_6_2; DROP TABLE IF EXISTS DECIMAL_6_3; diff --git a/ql/src/test/queries/clientpositive/decimal_join.q b/ql/src/test/queries/clientpositive/decimal_join.q index c6d5571..670fed3 100644 --- a/ql/src/test/queries/clientpositive/decimal_join.q +++ b/ql/src/test/queries/clientpositive/decimal_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-5292 Join on decimal columns fails -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/decimal_join2.q b/ql/src/test/queries/clientpositive/decimal_join2.q index fb45367..0d78ff4 100644 --- a/ql/src/test/queries/clientpositive/decimal_join2.q +++ b/ql/src/test/queries/clientpositive/decimal_join2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_3_txt; DROP TABLE IF EXISTS DECIMAL_3; diff --git a/ql/src/test/queries/clientpositive/decimal_precision.q b/ql/src/test/queries/clientpositive/decimal_precision.q index 739352f..6a6b798 100644 --- a/ql/src/test/queries/clientpositive/decimal_precision.q +++ b/ql/src/test/queries/clientpositive/decimal_precision.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_PRECISION; CREATE TABLE DECIMAL_PRECISION(dec decimal(20,10)) diff --git a/ql/src/test/queries/clientpositive/decimal_precision2.q b/ql/src/test/queries/clientpositive/decimal_precision2.q index b5f6f6b..6021afd 100644 --- a/ql/src/test/queries/clientpositive/decimal_precision2.q +++ b/ql/src/test/queries/clientpositive/decimal_precision2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select 100.001BD; diff --git a/ql/src/test/queries/clientpositive/decimal_serde.q b/ql/src/test/queries/clientpositive/decimal_serde.q index be7a4ac..197924a 100644 --- a/ql/src/test/queries/clientpositive/decimal_serde.q +++ b/ql/src/test/queries/clientpositive/decimal_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_TEXT; DROP TABLE IF EXISTS DECIMAL_RC; DROP TABLE IF EXISTS DECIMAL_LAZY_COL; diff --git a/ql/src/test/queries/clientpositive/decimal_trailing.q b/ql/src/test/queries/clientpositive/decimal_trailing.q index 80afb40..76a3b57 100644 --- a/ql/src/test/queries/clientpositive/decimal_trailing.q +++ b/ql/src/test/queries/clientpositive/decimal_trailing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_TRAILING; CREATE TABLE DECIMAL_TRAILING ( diff --git a/ql/src/test/queries/clientpositive/decimal_udf.q b/ql/src/test/queries/clientpositive/decimal_udf.q index f9940d9..2f8ad87 100644 --- a/ql/src/test/queries/clientpositive/decimal_udf.q +++ b/ql/src/test/queries/clientpositive/decimal_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DROP TABLE IF EXISTS DECIMAL_UDF; diff --git a/ql/src/test/queries/clientpositive/decimal_udf2.q b/ql/src/test/queries/clientpositive/decimal_udf2.q index d4f6084..34a8d6b 100644 --- a/ql/src/test/queries/clientpositive/decimal_udf2.q +++ b/ql/src/test/queries/clientpositive/decimal_udf2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS DECIMAL_UDF2; CREATE TABLE DECIMAL_UDF2 (key decimal(20,10), value int) diff --git a/ql/src/test/queries/clientpositive/default_file_format.q b/ql/src/test/queries/clientpositive/default_file_format.q index 577fa36..9ff7460 100644 --- a/ql/src/test/queries/clientpositive/default_file_format.q +++ b/ql/src/test/queries/clientpositive/default_file_format.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t (c int); set hive.default.fileformat.managed=orc; diff --git a/ql/src/test/queries/clientpositive/default_partition_name.q b/ql/src/test/queries/clientpositive/default_partition_name.q index 6a82318..e6507bf 100644 --- a/ql/src/test/queries/clientpositive/default_partition_name.q +++ b/ql/src/test/queries/clientpositive/default_partition_name.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table default_partition_name (key int, value string) partitioned by (ds string); set hive.exec.default.partition.name='some_other_default_partition_name'; diff --git a/ql/src/test/queries/clientpositive/delete_all_non_partitioned.q b/ql/src/test/queries/clientpositive/delete_all_non_partitioned.q index 9110dcc..bc5a7c1 100644 --- a/ql/src/test/queries/clientpositive/delete_all_non_partitioned.q +++ b/ql/src/test/queries/clientpositive/delete_all_non_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_all_partitioned.q b/ql/src/test/queries/clientpositive/delete_all_partitioned.q index f082b6d..dc942d5 100644 --- a/ql/src/test/queries/clientpositive/delete_all_partitioned.q +++ b/ql/src/test/queries/clientpositive/delete_all_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_orig_table.q b/ql/src/test/queries/clientpositive/delete_orig_table.q index fd23f4b..3ab2a2a 100644 --- a/ql/src/test/queries/clientpositive/delete_orig_table.q +++ b/ql/src/test/queries/clientpositive/delete_orig_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_tmp_table.q b/ql/src/test/queries/clientpositive/delete_tmp_table.q index eb6c095..1c0a648 100644 --- a/ql/src/test/queries/clientpositive/delete_tmp_table.q +++ b/ql/src/test/queries/clientpositive/delete_tmp_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_where_no_match.q b/ql/src/test/queries/clientpositive/delete_where_no_match.q index 8ed979d..e08634e 100644 --- a/ql/src/test/queries/clientpositive/delete_where_no_match.q +++ b/ql/src/test/queries/clientpositive/delete_where_no_match.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_where_non_partitioned.q b/ql/src/test/queries/clientpositive/delete_where_non_partitioned.q index dac5375..080311e 100644 --- a/ql/src/test/queries/clientpositive/delete_where_non_partitioned.q +++ b/ql/src/test/queries/clientpositive/delete_where_non_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_where_partitioned.q b/ql/src/test/queries/clientpositive/delete_where_partitioned.q index f84f26a..d06a4d6 100644 --- a/ql/src/test/queries/clientpositive/delete_where_partitioned.q +++ b/ql/src/test/queries/clientpositive/delete_where_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delete_whole_partition.q b/ql/src/test/queries/clientpositive/delete_whole_partition.q index 8228a32..0e2815e 100644 --- a/ql/src/test/queries/clientpositive/delete_whole_partition.q +++ b/ql/src/test/queries/clientpositive/delete_whole_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/delimiter.q b/ql/src/test/queries/clientpositive/delimiter.q index 14d508c..22bcaed 100644 --- a/ql/src/test/queries/clientpositive/delimiter.q +++ b/ql/src/test/queries/clientpositive/delimiter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table impressions (imp string, msg string) row format delimited fields terminated by '\t' diff --git a/ql/src/test/queries/clientpositive/desc_non_existent_tbl.q b/ql/src/test/queries/clientpositive/desc_non_existent_tbl.q index e69de29..16a595b 100644 --- a/ql/src/test/queries/clientpositive/desc_non_existent_tbl.q +++ b/ql/src/test/queries/clientpositive/desc_non_existent_tbl.q @@ -0,0 +1,34 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/desc_tbl_part_cols.q b/ql/src/test/queries/clientpositive/desc_tbl_part_cols.q index 89e4931..a4a97dc 100644 --- a/ql/src/test/queries/clientpositive/desc_tbl_part_cols.q +++ b/ql/src/test/queries/clientpositive/desc_tbl_part_cols.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t1 (a int, b string) partitioned by (c int, d string); describe t1; diff --git a/ql/src/test/queries/clientpositive/describe_comment_indent.q b/ql/src/test/queries/clientpositive/describe_comment_indent.q index 310b694..9aa74aa 100644 --- a/ql/src/test/queries/clientpositive/describe_comment_indent.q +++ b/ql/src/test/queries/clientpositive/describe_comment_indent.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test comment indent processing for multi-line comments CREATE TABLE test_table( diff --git a/ql/src/test/queries/clientpositive/describe_comment_nonascii.q b/ql/src/test/queries/clientpositive/describe_comment_nonascii.q index 9027d1e..5f2a6e2 100644 --- a/ql/src/test/queries/clientpositive/describe_comment_nonascii.q +++ b/ql/src/test/queries/clientpositive/describe_comment_nonascii.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-2905 showing non-ascii comments create table dummy (col1 string, col2 string, col3 string); diff --git a/ql/src/test/queries/clientpositive/describe_database.q b/ql/src/test/queries/clientpositive/describe_database.q index 961bf55..fe96c98 100644 --- a/ql/src/test/queries/clientpositive/describe_database.q +++ b/ql/src/test/queries/clientpositive/describe_database.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database test_db with dbproperties ('key1' = 'value1', 'key2' = 'value2'); desc database extended test_db; desc schema extended test_db; diff --git a/ql/src/test/queries/clientpositive/describe_database_json.q b/ql/src/test/queries/clientpositive/describe_database_json.q index 67ca68f..47e22ad 100644 --- a/ql/src/test/queries/clientpositive/describe_database_json.q +++ b/ql/src/test/queries/clientpositive/describe_database_json.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.ddl.output.format=json; CREATE DATABASE IF NOT EXISTS jsondb1 COMMENT 'Test database' LOCATION '${hiveconf:hive.metastore.warehouse.dir}/jsondb1' WITH DBPROPERTIES ('id' = 'jsondb1'); diff --git a/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned.q b/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned.q index 241ff11..6520c38 100644 --- a/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned.q +++ b/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP VIEW view_partitioned; CREATE VIEW view_partitioned PARTITIONED ON (value) AS SELECT key, value -FROM src +FROM `s/c` WHERE key=86; ALTER VIEW view_partitioned diff --git a/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned_json.q b/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned_json.q index 150ff70..da22d93 100644 --- a/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned_json.q +++ b/ql/src/test/queries/clientpositive/describe_formatted_view_partitioned_json.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.ddl.output.format=json; DROP VIEW view_partitioned; @@ -6,7 +40,7 @@ CREATE VIEW view_partitioned PARTITIONED ON (value) AS SELECT key, value -FROM src +FROM `s/c` WHERE key=86; ALTER VIEW view_partitioned diff --git a/ql/src/test/queries/clientpositive/describe_pretty.q b/ql/src/test/queries/clientpositive/describe_pretty.q index 89db075..812e4b6 100644 --- a/ql/src/test/queries/clientpositive/describe_pretty.q +++ b/ql/src/test/queries/clientpositive/describe_pretty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test comment indent processing for multi-line comments CREATE TABLE test_table( diff --git a/ql/src/test/queries/clientpositive/describe_syntax.q b/ql/src/test/queries/clientpositive/describe_syntax.q index c9255b5..45c4a72 100644 --- a/ql/src/test/queries/clientpositive/describe_syntax.q +++ b/ql/src/test/queries/clientpositive/describe_syntax.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE db1; CREATE TABLE db1.t1(key1 INT, value1 STRING) PARTITIONED BY (ds STRING, part STRING); diff --git a/ql/src/test/queries/clientpositive/describe_table.q b/ql/src/test/queries/clientpositive/describe_table.q index aa1f574..29db1ae 100644 --- a/ql/src/test/queries/clientpositive/describe_table.q +++ b/ql/src/test/queries/clientpositive/describe_table.q @@ -1,28 +1,62 @@ -describe srcpart; -describe srcpart.key; -describe srcpart PARTITION(ds='2008-04-08', hr='12'); +DROP TABLE IF EXISTS `s/c`; -describe `srcpart`; -describe `srcpart`.`key`; -describe `srcpart` PARTITION(ds='2008-04-08', hr='12'); +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -describe extended srcpart; -describe extended srcpart.key; -describe extended srcpart PARTITION(ds='2008-04-08', hr='12'); +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -describe extended `srcpart`; -describe extended `srcpart`.`key`; -describe extended `srcpart` PARTITION(ds='2008-04-08', hr='12'); +ANALYZE TABLE `s/c` COMPUTE STATISTICS; -describe formatted srcpart; -describe formatted srcpart.key; -describe formatted srcpart PARTITION(ds='2008-04-08', hr='12'); +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; -describe formatted `srcpart`; -describe formatted `srcpart`.`key`; -describe formatted `srcpart` PARTITION(ds='2008-04-08', hr='12'); -create table srcpart_serdeprops like srcpart; +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +describe `s/cpart`; +describe `s/cpart`.key; +describe `s/cpart` PARTITION(ds='2008-04-08', hr='12'); + +describe ``s/cpart``; +describe ``s/cpart``.`key`; +describe ``s/cpart`` PARTITION(ds='2008-04-08', hr='12'); + +describe extended `s/cpart`; +describe extended `s/cpart`.key; +describe extended `s/cpart` PARTITION(ds='2008-04-08', hr='12'); + +describe extended ``s/cpart``; +describe extended ``s/cpart``.`key`; +describe extended ``s/cpart`` PARTITION(ds='2008-04-08', hr='12'); + +describe formatted `s/cpart`; +describe formatted `s/cpart`.key; +describe formatted `s/cpart` PARTITION(ds='2008-04-08', hr='12'); + +describe formatted ``s/cpart``; +describe formatted ``s/cpart``.`key`; +describe formatted ``s/cpart`` PARTITION(ds='2008-04-08', hr='12'); + +create table srcpart_serdeprops like `s/cpart`; alter table srcpart_serdeprops set serdeproperties('xyz'='0'); alter table srcpart_serdeprops set serdeproperties('pqrs'='1'); alter table srcpart_serdeprops set serdeproperties('abcd'='2'); diff --git a/ql/src/test/queries/clientpositive/describe_table_json.q b/ql/src/test/queries/clientpositive/describe_table_json.q index f19e98d..764b040 100644 --- a/ql/src/test/queries/clientpositive/describe_table_json.q +++ b/ql/src/test/queries/clientpositive/describe_table_json.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.ddl.output.format=json; CREATE TABLE IF NOT EXISTS jsontable (key INT, value STRING) COMMENT 'json table' STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/describe_xpath.q b/ql/src/test/queries/clientpositive/describe_xpath.q index 469cbf4..ca3e344 100644 --- a/ql/src/test/queries/clientpositive/describe_xpath.q +++ b/ql/src/test/queries/clientpositive/describe_xpath.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Describe a list structure in a thrift table describe src_thrift.lint; diff --git a/ql/src/test/queries/clientpositive/diff_part_input_formats.q b/ql/src/test/queries/clientpositive/diff_part_input_formats.q index c5741d0..5e610d9 100644 --- a/ql/src/test/queries/clientpositive/diff_part_input_formats.q +++ b/ql/src/test/queries/clientpositive/diff_part_input_formats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests the case where a table is changed from sequence file to a RC file, -- resulting in partitions in both file formats. If no valid partitions are -- selected, then it should still use RC file for reading the dummy partition. diff --git a/ql/src/test/queries/clientpositive/disable_file_format_check.q b/ql/src/test/queries/clientpositive/disable_file_format_check.q index 81a5b3a..7e0b8e7 100644 --- a/ql/src/test/queries/clientpositive/disable_file_format_check.q +++ b/ql/src/test/queries/clientpositive/disable_file_format_check.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fileformat.check = false; create table kv_fileformat_check_txt (key string, value string) stored as textfile; load data local inpath '../../data/files/kv1.seq' overwrite into table kv_fileformat_check_txt; diff --git a/ql/src/test/queries/clientpositive/disable_merge_for_bucketing.q b/ql/src/test/queries/clientpositive/disable_merge_for_bucketing.q index d7f9ac8..b0d945a 100644 --- a/ql/src/test/queries/clientpositive/disable_merge_for_bucketing.q +++ b/ql/src/test/queries/clientpositive/disable_merge_for_bucketing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.enforce.bucketing = true; @@ -10,10 +44,10 @@ CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS; explain extended insert overwrite table bucket2_1 -select * from src; +select * from `s/c`; insert overwrite table bucket2_1 -select * from src; +select * from `s/c`; explain select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key; diff --git a/ql/src/test/queries/clientpositive/disallow_incompatible_type_change_off.q b/ql/src/test/queries/clientpositive/disallow_incompatible_type_change_off.q index 991b930..141e3aa 100644 --- a/ql/src/test/queries/clientpositive/disallow_incompatible_type_change_off.q +++ b/ql/src/test/queries/clientpositive/disallow_incompatible_type_change_off.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; SET hive.metastore.disallow.incompatible.col.type.changes=false; -SELECT * FROM src LIMIT 1; +SELECT * FROM `s/c` LIMIT 1; CREATE TABLE test_table123 (a INT, b MAP) PARTITIONED BY (ds STRING) STORED AS SEQUENCEFILE; -INSERT OVERWRITE TABLE test_table123 PARTITION(ds="foo1") SELECT 1, MAP("a1", "b1") FROM src tablesample (1 rows); +INSERT OVERWRITE TABLE test_table123 PARTITION(ds="foo1") SELECT 1, MAP("a1", "b1") FROM `s/c` tablesample (1 rows); SELECT * from test_table123 WHERE ds="foo1"; -- This should now work as hive.metastore.disallow.incompatible.col.type.changes is false ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b STRING); diff --git a/ql/src/test/queries/clientpositive/display_colstats_tbllvl.q b/ql/src/test/queries/clientpositive/display_colstats_tbllvl.q index debd8a9..3a66441 100644 --- a/ql/src/test/queries/clientpositive/display_colstats_tbllvl.q +++ b/ql/src/test/queries/clientpositive/display_colstats_tbllvl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS UserVisits_web_text_none; CREATE TABLE UserVisits_web_text_none ( diff --git a/ql/src/test/queries/clientpositive/distinct_stats.q b/ql/src/test/queries/clientpositive/distinct_stats.q index 7251833..d1b0f68 100644 --- a/ql/src/test/queries/clientpositive/distinct_stats.q +++ b/ql/src/test/queries/clientpositive/distinct_stats.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=true; set hive.compute.query.using.stats=true; create table t1 (a string, b string); -insert into table t1 select * from src; +insert into table t1 select * from `s/c`; analyze table t1 compute statistics for columns a,b; diff --git a/ql/src/test/queries/clientpositive/driverhook.q b/ql/src/test/queries/clientpositive/driverhook.q index 191c154..0e4f0ac 100644 --- a/ql/src/test/queries/clientpositive/driverhook.q +++ b/ql/src/test/queries/clientpositive/driverhook.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.driver.run.hooks=org.apache.hadoop.hive.ql.hooks.DriverTestHook; -- This query should appear in the Hive CLI output. -- We test DriverTestHook, which does exactly that. -- This should not break. -SELECT * FROM src LIMIT 1; +SELECT * FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/drop_database_removes_partition_dirs.q b/ql/src/test/queries/clientpositive/drop_database_removes_partition_dirs.q index a5f5189..3bc54b6 100644 --- a/ql/src/test/queries/clientpositive/drop_database_removes_partition_dirs.q +++ b/ql/src/test/queries/clientpositive/drop_database_removes_partition_dirs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that if a partition exists outside a table's current location when the -- database is dropped the partition's location is dropped as well. @@ -14,7 +48,7 @@ ALTER TABLE test_table ADD PARTITION (part = '1') LOCATION 'file:${system:test.tmp.dir}/drop_database_removes_partition_dirs_table2/part=1'; INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT * FROM default.src; +SELECT * FROM default.`s/c`; dfs -ls ${system:test.tmp.dir}/drop_database_removes_partition_dirs_table2; diff --git a/ql/src/test/queries/clientpositive/drop_function.q b/ql/src/test/queries/clientpositive/drop_function.q index 18c428c..b357946 100644 --- a/ql/src/test/queries/clientpositive/drop_function.q +++ b/ql/src/test/queries/clientpositive/drop_function.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.drop.ignorenonexistent=false; DROP TEMPORARY FUNCTION IF EXISTS UnknownFunction; diff --git a/ql/src/test/queries/clientpositive/drop_index.q b/ql/src/test/queries/clientpositive/drop_index.q index e03856c..916f46a 100644 --- a/ql/src/test/queries/clientpositive/drop_index.q +++ b/ql/src/test/queries/clientpositive/drop_index.q @@ -1,2 +1,36 @@ -DROP INDEX IF EXISTS UnknownIndex ON src; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP INDEX IF EXISTS UnknownIndex ON `s/c`; DROP INDEX IF EXISTS UnknownIndex ON UnknownTable; diff --git a/ql/src/test/queries/clientpositive/drop_index_removes_partition_dirs.q b/ql/src/test/queries/clientpositive/drop_index_removes_partition_dirs.q index ed471db..178b27a 100644 --- a/ql/src/test/queries/clientpositive/drop_index_removes_partition_dirs.q +++ b/ql/src/test/queries/clientpositive/drop_index_removes_partition_dirs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that if a partition exists outside an index table's current location when the -- index is dropped the partition's location is dropped as well. diff --git a/ql/src/test/queries/clientpositive/drop_multi_partitions.q b/ql/src/test/queries/clientpositive/drop_multi_partitions.q index 7ee7ae7..dc05290 100644 --- a/ql/src/test/queries/clientpositive/drop_multi_partitions.q +++ b/ql/src/test/queries/clientpositive/drop_multi_partitions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database dmp; create table dmp.mp (a string) partitioned by (b string, c string); diff --git a/ql/src/test/queries/clientpositive/drop_partition_with_stats.q b/ql/src/test/queries/clientpositive/drop_partition_with_stats.q index 40b43c2..bc8be26 100644 --- a/ql/src/test/queries/clientpositive/drop_partition_with_stats.q +++ b/ql/src/test/queries/clientpositive/drop_partition_with_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that a table partition could be dropped with columns stats computed -- The column stats for a partitioned table will go to PART_COL_STATS CREATE DATABASE IF NOT EXISTS partstatsdb1; diff --git a/ql/src/test/queries/clientpositive/drop_partitions_filter.q b/ql/src/test/queries/clientpositive/drop_partitions_filter.q index 04fbcae..3af6d99 100644 --- a/ql/src/test/queries/clientpositive/drop_partitions_filter.q +++ b/ql/src/test/queries/clientpositive/drop_partitions_filter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table ptestfilter (a string, b int) partitioned by (c string, d string); describe ptestfilter; diff --git a/ql/src/test/queries/clientpositive/drop_partitions_filter2.q b/ql/src/test/queries/clientpositive/drop_partitions_filter2.q index 54e6a35..3297fc5 100644 --- a/ql/src/test/queries/clientpositive/drop_partitions_filter2.q +++ b/ql/src/test/queries/clientpositive/drop_partitions_filter2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table ptestfilter (a string, b int) partitioned by (c int, d int); describe ptestfilter; diff --git a/ql/src/test/queries/clientpositive/drop_partitions_filter3.q b/ql/src/test/queries/clientpositive/drop_partitions_filter3.q index 2d41da4..63e0500 100644 --- a/ql/src/test/queries/clientpositive/drop_partitions_filter3.q +++ b/ql/src/test/queries/clientpositive/drop_partitions_filter3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table ptestfilter (a string, b int) partitioned by (c string, d int); describe ptestfilter; diff --git a/ql/src/test/queries/clientpositive/drop_table.q b/ql/src/test/queries/clientpositive/drop_table.q index 6d189fc..091509c 100644 --- a/ql/src/test/queries/clientpositive/drop_table.q +++ b/ql/src/test/queries/clientpositive/drop_table.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.drop.ignorenonexistent=false; DROP TABLE IF EXISTS UnknownTable; diff --git a/ql/src/test/queries/clientpositive/drop_table2.q b/ql/src/test/queries/clientpositive/drop_table2.q index a3e8c5c..bc540e6 100644 --- a/ql/src/test/queries/clientpositive/drop_table2.q +++ b/ql/src/test/queries/clientpositive/drop_table2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.metastore.batch.retrieve.max=1; create table if not exists temp(col STRING) partitioned by (p STRING); alter table temp add if not exists partition (p ='p1'); diff --git a/ql/src/test/queries/clientpositive/drop_table_purge.q b/ql/src/test/queries/clientpositive/drop_table_purge.q index f094a5b..1c30eeb 100644 --- a/ql/src/test/queries/clientpositive/drop_table_purge.q +++ b/ql/src/test/queries/clientpositive/drop_table_purge.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.metastore.batch.retrieve.max=1; CREATE TABLE IF NOT EXISTS temp(col STRING); diff --git a/ql/src/test/queries/clientpositive/drop_table_removes_partition_dirs.q b/ql/src/test/queries/clientpositive/drop_table_removes_partition_dirs.q index 102b3ef..0743bcb 100644 --- a/ql/src/test/queries/clientpositive/drop_table_removes_partition_dirs.q +++ b/ql/src/test/queries/clientpositive/drop_table_removes_partition_dirs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that if a partition exists outside the table's current location when the -- table is dropped the partition's location is dropped as well. @@ -10,7 +44,7 @@ ALTER TABLE test_table ADD PARTITION (part = '1') LOCATION 'file:${system:test.tmp.dir}/drop_table_removes_partition_dirs_table2/part=1'; INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT * FROM src; +SELECT * FROM `s/c`; dfs -ls ${system:test.tmp.dir}/drop_table_removes_partition_dirs_table2; diff --git a/ql/src/test/queries/clientpositive/drop_table_with_stats.q b/ql/src/test/queries/clientpositive/drop_table_with_stats.q index b655b53..a10a5c0 100644 --- a/ql/src/test/queries/clientpositive/drop_table_with_stats.q +++ b/ql/src/test/queries/clientpositive/drop_table_with_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that a table could be dropped with columns stats computed -- The column stats for table without partition will go to TAB_COL_STATS CREATE DATABASE IF NOT EXISTS tblstatsdb1; diff --git a/ql/src/test/queries/clientpositive/drop_udf.q b/ql/src/test/queries/clientpositive/drop_udf.q index 8aaa66e..2ad2ce2 100644 --- a/ql/src/test/queries/clientpositive/drop_udf.q +++ b/ql/src/test/queries/clientpositive/drop_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TEMPORARY FUNCTION test_translate AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestTranslate'; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/drop_view.q b/ql/src/test/queries/clientpositive/drop_view.q index 4ff0975..7548531 100644 --- a/ql/src/test/queries/clientpositive/drop_view.q +++ b/ql/src/test/queries/clientpositive/drop_view.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.drop.ignorenonexistent=false; DROP VIEW IF EXISTS UnknownView; diff --git a/ql/src/test/queries/clientpositive/drop_with_concurrency.q b/ql/src/test/queries/clientpositive/drop_with_concurrency.q index 797a27c..dafaeef 100644 --- a/ql/src/test/queries/clientpositive/drop_with_concurrency.q +++ b/ql/src/test/queries/clientpositive/drop_with_concurrency.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.lock.numretries=1; set hive.lock.sleep.between.retries=1; set hive.support.concurrency=true; diff --git a/ql/src/test/queries/clientpositive/dynamic_partition_insert.q b/ql/src/test/queries/clientpositive/dynamic_partition_insert.q index b4ae3b0..a7390aa 100644 --- a/ql/src/test/queries/clientpositive/dynamic_partition_insert.q +++ b/ql/src/test/queries/clientpositive/dynamic_partition_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE t1 (c1 BIGINT, c2 STRING); CREATE TABLE t2 (c1 INT, c2 STRING) diff --git a/ql/src/test/queries/clientpositive/dynamic_partition_pruning.q b/ql/src/test/queries/clientpositive/dynamic_partition_pruning.q index 67c4740..d6794d7 100644 --- a/ql/src/test/queries/clientpositive/dynamic_partition_pruning.q +++ b/ql/src/test/queries/clientpositive/dynamic_partition_pruning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; @@ -6,170 +40,170 @@ set hive.optimize.metadataonly=false; set hive.optimize.index.filter=true; -select distinct ds from srcpart; -select distinct hr from srcpart; +select distinct ds from `s/cpart`; +select distinct hr from `s/cpart`; -EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_date as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_hour as select hr as hr, hr as hour from srcpart group by hr; -create table srcpart_date_hour as select ds as ds, ds as `date`, hr as hr, hr as hour from srcpart group by ds, hr; -create table srcpart_double_hour as select (hr*2) as hr, hr as hour from srcpart group by hr; +EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_date as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_hour as select hr as hr, hr as hour from `s/cpart` group by hr; +create table srcpart_date_hour as select ds as ds, ds as `date`, hr as hr, hr as hour from `s/cpart` group by ds, hr; +create table srcpart_double_hour as select (hr*2) as hr, hr as hour from `s/cpart` group by hr; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = 'I DONT EXIST'; +select count(*) from `s/cpart` where ds = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where cast(hr as string) = 11; +select count(*) from `s/cpart` where cast(hr as string) = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- non-equi join -EXPLAIN select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); -select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); +select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); -- old style join syntax -EXPLAIN select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; -select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; +select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask = true; set hive.auto.convert.join.noconditionaltask.size = 10000000; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) --- where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +-- where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); -- different file format @@ -180,10 +214,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.vectorized.execution.enabled=false; set hive.exec.max.dynamic.partitions=1000; -insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from srcpart; +insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from `s/cpart`; EXPLAIN select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); -select count(*) from srcpart where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; +select count(*) from `s/cpart` where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; drop table srcpart_orc; drop table srcpart_date; diff --git a/ql/src/test/queries/clientpositive/dynamic_partition_pruning_2.q b/ql/src/test/queries/clientpositive/dynamic_partition_pruning_2.q index 4a9532d..3c0509e 100644 --- a/ql/src/test/queries/clientpositive/dynamic_partition_pruning_2.q +++ b/ql/src/test/queries/clientpositive/dynamic_partition_pruning_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; @@ -126,13 +160,13 @@ set hive.tez.dynamic.partition.pruning.max.data.size=10000; -- and for self join on partitioning column, it should not fail (HIVE-10559). explain select count(*) -from srcpart s1, - srcpart s2 +from `s/cpart` s1, + `s/cpart` s2 where s1.ds = s2.ds ; select count(*) -from srcpart s1, - srcpart s2 +from `s/cpart` s1, + `s/cpart` s2 where s1.ds = s2.ds ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/dynamic_partition_skip_default.q b/ql/src/test/queries/clientpositive/dynamic_partition_skip_default.q index 699e58e..2dc440d 100644 --- a/ql/src/test/queries/clientpositive/dynamic_partition_skip_default.q +++ b/ql/src/test/queries/clientpositive/dynamic_partition_skip_default.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table dynamic_part_table(intcol string) partitioned by (partcol1 string, partcol2 string); set hive.exec.dynamic.partition.mode=nonstrict; -insert into table dynamic_part_table partition(partcol1, partcol2) select '1', '1', '1' from src where key=150; +insert into table dynamic_part_table partition(partcol1, partcol2) select '1', '1', '1' from `s/c` where key=150; -insert into table dynamic_part_table partition(partcol1, partcol2) select '1', NULL, '1' from src where key=150; +insert into table dynamic_part_table partition(partcol1, partcol2) select '1', NULL, '1' from `s/c` where key=150; -insert into table dynamic_part_table partition(partcol1, partcol2) select '1', '1', NULL from src where key=150; +insert into table dynamic_part_table partition(partcol1, partcol2) select '1', '1', NULL from `s/c` where key=150; -insert into table dynamic_part_table partition(partcol1, partcol2) select '1', NULL, NULL from src where key=150; +insert into table dynamic_part_table partition(partcol1, partcol2) select '1', NULL, NULL from `s/c` where key=150; explain extended select intcol from dynamic_part_table where partcol1='1' and partcol2='1'; diff --git a/ql/src/test/queries/clientpositive/dynamic_rdd_cache.q b/ql/src/test/queries/clientpositive/dynamic_rdd_cache.q index 2f1582a..e10e827 100644 --- a/ql/src/test/queries/clientpositive/dynamic_rdd_cache.q +++ b/ql/src/test/queries/clientpositive/dynamic_rdd_cache.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.map.aggr=true; SET hive.multigroupby.singlereducer=false; SET hive.groupby.skewindata=false; @@ -9,12 +43,12 @@ SET hive.exec.compress.output=true; EXPLAIN FROM -(SELECT src.* FROM src sort by key) X +(SELECT `s/c`.* FROM `s/c` sort by key) X RIGHT OUTER JOIN -(SELECT src.* FROM src sort by value) Y +(SELECT `s/c`.* FROM `s/c` sort by value) Y ON (X.key = Y.key) JOIN -(SELECT src.* FROM src sort by value) Z +(SELECT `s/c`.* FROM `s/c` sort by value) Z ON (X.key = Z.key) SELECT sum(hash(Y.key,Y.value)) GROUP BY Y.key; @@ -23,9 +57,9 @@ CREATE TABLE dest1(key INT, value STRING); CREATE TABLE dest2(key INT, value STRING); EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(SUBSTR(src.value,5)) GROUP BY src.key -INSERT OVERWRITE TABLE dest2 SELECT src.key, sum(SUBSTR(src.value,5)) GROUP BY src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; SELECT dest2.* FROM dest2; @@ -40,11 +74,11 @@ CREATE TABLE tmptable(key STRING, value INT); EXPLAIN INSERT OVERWRITE TABLE tmptable - SELECT unionsrc.key, unionsrc.value FROM (SELECT 'tst1' AS key, count(1) AS value FROM src s1 + SELECT unionsrc.key, unionsrc.value FROM (SELECT 'tst1' AS key, count(1) AS value FROM `s/c` s1 UNION ALL - SELECT 'tst2' AS key, count(1) AS value FROM src s2 + SELECT 'tst2' AS key, count(1) AS value FROM `s/c` s2 UNION ALL - SELECT 'tst3' AS key, count(1) AS value FROM src s3) unionsrc; + SELECT 'tst3' AS key, count(1) AS value FROM `s/c` s3) unionsrc; SELECT * FROM tmptable x SORT BY x.key; DROP TABLE tmtable; @@ -52,13 +86,13 @@ DROP TABLE tmtable; EXPLAIN SELECT unionsrc1.key, unionsrc1.value, unionsrc2.key, unionsrc2.value -FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM src s1 +FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM `s/c` s1 UNION ALL - SELECT s2.key AS key, s2.value AS value FROM src s2 WHERE s2.key < 10) unionsrc1 + SELECT s2.key AS key, s2.value AS value FROM `s/c` s2 WHERE s2.key < 10) unionsrc1 JOIN - (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM src s3 + (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM `s/c` s3 UNION ALL - SELECT s4.key AS key, s4.value AS value FROM src s4 WHERE s4.key < 10) unionsrc2 + SELECT s4.key AS key, s4.value AS value FROM `s/c` s4 WHERE s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); diff --git a/ql/src/test/queries/clientpositive/dynpart_sort_opt_bucketing.q b/ql/src/test/queries/clientpositive/dynpart_sort_opt_bucketing.q index 95ae6e3..d1fbaa8 100644 --- a/ql/src/test/queries/clientpositive/dynpart_sort_opt_bucketing.q +++ b/ql/src/test/queries/clientpositive/dynpart_sort_opt_bucketing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.vectorized.execution.enabled=false; drop table if exists t1_staging; diff --git a/ql/src/test/queries/clientpositive/dynpart_sort_opt_vectorization.q b/ql/src/test/queries/clientpositive/dynpart_sort_opt_vectorization.q index 8001081..d91dbe8 100644 --- a/ql/src/test/queries/clientpositive/dynpart_sort_opt_vectorization.q +++ b/ql/src/test/queries/clientpositive/dynpart_sort_opt_vectorization.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.sort.dynamic.partition=true; set hive.exec.dynamic.partition=true; diff --git a/ql/src/test/queries/clientpositive/dynpart_sort_optimization.q b/ql/src/test/queries/clientpositive/dynpart_sort_optimization.q index f842efe..906ab34 100644 --- a/ql/src/test/queries/clientpositive/dynpart_sort_optimization.q +++ b/ql/src/test/queries/clientpositive/dynpart_sort_optimization.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.sort.dynamic.partition=true; set hive.exec.dynamic.partition=true; diff --git a/ql/src/test/queries/clientpositive/dynpart_sort_optimization2.q b/ql/src/test/queries/clientpositive/dynpart_sort_optimization2.q index 5a504ec..74b3f7b 100644 --- a/ql/src/test/queries/clientpositive/dynpart_sort_optimization2.q +++ b/ql/src/test/queries/clientpositive/dynpart_sort_optimization2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.sort.dynamic.partition=true; set hive.exec.dynamic.partition=true; @@ -216,7 +250,7 @@ select key k1, count(value) k2, "day" `day` -from src +from `s/c` group by "day", key; insert overwrite table `hive13_dp1` partition(`day`) @@ -224,7 +258,7 @@ select key k1, count(value) k2, "day" `day` -from src +from `s/c` group by "day", key; select * from hive13_dp1 order by k1, k2 limit 5; @@ -234,7 +268,7 @@ select key k1, count(value) k2, "day" `day` -from src +from `s/c` group by "day", key; insert overwrite table `hive13_dp1` partition(`day`) @@ -242,7 +276,7 @@ select key k1, count(value) k2, "day" `day` -from src +from `s/c` group by "day", key; select * from hive13_dp1 order by k1, k2 limit 5; diff --git a/ql/src/test/queries/clientpositive/dynpart_sort_optimization_acid.q b/ql/src/test/queries/clientpositive/dynpart_sort_optimization_acid.q index a2f2c77..7c920d2 100644 --- a/ql/src/test/queries/clientpositive/dynpart_sort_optimization_acid.q +++ b/ql/src/test/queries/clientpositive/dynpart_sort_optimization_acid.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; @@ -8,7 +42,7 @@ set hive.optimize.sort.dynamic.partition=false; -- single level partition, sorted dynamic partition disabled drop table acid; CREATE TABLE acid(key string, value string) PARTITIONED BY(ds string) CLUSTERED BY(key) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true'); -insert into table acid partition(ds) select key,value,ds from srcpart; +insert into table acid partition(ds) select key,value,ds from `s/cpart`; select count(*) from acid where ds='2008-04-08'; insert into table acid partition(ds='2008-04-08') values("foo", "bar"); @@ -30,7 +64,7 @@ set hive.optimize.sort.dynamic.partition=true; -- single level partition, sorted dynamic partition enabled drop table acid; CREATE TABLE acid(key string, value string) PARTITIONED BY(ds string) CLUSTERED BY(key) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true'); -insert into table acid partition(ds) select key,value,ds from srcpart; +insert into table acid partition(ds) select key,value,ds from `s/cpart`; select count(*) from acid where ds='2008-04-08'; insert into table acid partition(ds='2008-04-08') values("foo", "bar"); @@ -52,7 +86,7 @@ set hive.optimize.sort.dynamic.partition=false; -- 2 level partition, sorted dynamic partition disabled drop table acid; CREATE TABLE acid(key string, value string) PARTITIONED BY(ds string, hr int) CLUSTERED BY(key) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true'); -insert into table acid partition(ds,hr) select * from srcpart; +insert into table acid partition(ds,hr) select * from `s/cpart`; select count(*) from acid where ds='2008-04-08' and hr=11; insert into table acid partition(ds='2008-04-08',hr=11) values("foo", "bar"); @@ -74,7 +108,7 @@ set hive.optimize.sort.dynamic.partition=true; -- 2 level partition, sorted dynamic partition enabled drop table acid; CREATE TABLE acid(key string, value string) PARTITIONED BY(ds string, hr int) CLUSTERED BY(key) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true'); -insert into table acid partition(ds,hr) select * from srcpart; +insert into table acid partition(ds,hr) select * from `s/cpart`; select count(*) from acid where ds='2008-04-08' and hr=11; insert into table acid partition(ds='2008-04-08',hr=11) values("foo", "bar"); @@ -97,7 +131,7 @@ set hive.optimize.constant.propagation=false; -- 2 level partition, sorted dynamic partition enabled, constant propagation disabled drop table acid; CREATE TABLE acid(key string, value string) PARTITIONED BY(ds string, hr int) CLUSTERED BY(key) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES ('transactional'='true'); -insert into table acid partition(ds,hr) select * from srcpart; +insert into table acid partition(ds,hr) select * from `s/cpart`; select count(*) from acid where ds='2008-04-08' and hr=11; insert into table acid partition(ds='2008-04-08',hr=11) values("foo", "bar"); diff --git a/ql/src/test/queries/clientpositive/empty_dir_in_table.q b/ql/src/test/queries/clientpositive/empty_dir_in_table.q index 630c4c1..ac328f0 100644 --- a/ql/src/test/queries/clientpositive/empty_dir_in_table.q +++ b/ql/src/test/queries/clientpositive/empty_dir_in_table.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///target/tmp/test_empty_table; create external table roottable (key string) row format delimited fields terminated by '\\t' stored as textfile location 'hdfs:///target/tmp/test_empty_table'; select count(*) from roottable; -insert into table roottable select key from src where (key < 20) order by key; +insert into table roottable select key from `s/c` where (key < 20) order by key; select count(*) from roottable; dfs ${system:test.dfs.mkdir} hdfs:///target/tmp/test_empty_table/empty; diff --git a/ql/src/test/queries/clientpositive/encoding_nonutf8.q b/ql/src/test/queries/clientpositive/encoding_nonutf8.q index f416760..8013908 100644 --- a/ql/src/test/queries/clientpositive/encoding_nonutf8.q +++ b/ql/src/test/queries/clientpositive/encoding_nonutf8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists encodelat1; create table encodelat1 (name STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' diff --git a/ql/src/test/queries/clientpositive/encryption_drop_partition.q b/ql/src/test/queries/clientpositive/encryption_drop_partition.q index e1c1796..267a09b 100644 --- a/ql/src/test/queries/clientpositive/encryption_drop_partition.q +++ b/ql/src/test/queries/clientpositive/encryption_drop_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS; -- we're setting this so that TestNegaiveCliDriver.vm doesn't stop processing after DROP TABLE fails; diff --git a/ql/src/test/queries/clientpositive/encryption_drop_table.q b/ql/src/test/queries/clientpositive/encryption_drop_table.q index 193beea..8356a27 100644 --- a/ql/src/test/queries/clientpositive/encryption_drop_table.q +++ b/ql/src/test/queries/clientpositive/encryption_drop_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS; -- we're setting this so that TestNegaiveCliDriver.vm doesn't stop processing after DROP TABLE fails; @@ -9,7 +43,7 @@ CREATE TABLE encrypted_table (key INT, value STRING) LOCATION '${hiveconf:hive.m CRYPTO CREATE_KEY --keyName key_128 --bitLength 128; CRYPTO CREATE_ZONE --keyName key_128 --path ${hiveconf:hive.metastore.warehouse.dir}/default/encrypted_table; -INSERT OVERWRITE TABLE encrypted_table SELECT * FROM src; +INSERT OVERWRITE TABLE encrypted_table SELECT * FROM `s/c`; SHOW TABLES; DROP TABLE default.encrypted_table; SHOW TABLES; diff --git a/ql/src/test/queries/clientpositive/encryption_drop_view.q b/ql/src/test/queries/clientpositive/encryption_drop_view.q index 911583a..d182cbc 100644 --- a/ql/src/test/queries/clientpositive/encryption_drop_view.q +++ b/ql/src/test/queries/clientpositive/encryption_drop_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS dve_encrypted_table PURGE; CREATE TABLE dve_encrypted_table (key INT, value STRING) LOCATION '${hiveconf:hive.metastore.warehouse.dir}/default/dve_encrypted_table'; CRYPTO CREATE_KEY --keyName key_128 --bitLength 128; diff --git a/ql/src/test/queries/clientpositive/encryption_insert_partition_dynamic.q b/ql/src/test/queries/clientpositive/encryption_insert_partition_dynamic.q index 9556eed..a3b5c63 100644 --- a/ql/src/test/queries/clientpositive/encryption_insert_partition_dynamic.q +++ b/ql/src/test/queries/clientpositive/encryption_insert_partition_dynamic.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; @@ -30,11 +64,11 @@ insert into table encryptedTable partition (key) values select * from encryptedTable order by key; -- insert encrypted table from unencrypted source -explain extended from src +explain extended from `s/c` insert into table encryptedTable partition (key) select value, key limit 2; -from src +from `s/c` insert into table encryptedTable partition (key) select value, key limit 2; diff --git a/ql/src/test/queries/clientpositive/encryption_insert_partition_static.q b/ql/src/test/queries/clientpositive/encryption_insert_partition_static.q index 69687df..3e6fe99 100644 --- a/ql/src/test/queries/clientpositive/encryption_insert_partition_static.q +++ b/ql/src/test/queries/clientpositive/encryption_insert_partition_static.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; @@ -27,7 +61,7 @@ select * from encryptedTable order by key; -- insert encrypted table from unencrypted source insert into table encryptedTable partition (ds='yesterday') -select * from src where key in ('238', '86'); +select * from `s/c` where key in ('238', '86'); select * from encryptedTable order by key; diff --git a/ql/src/test/queries/clientpositive/encryption_insert_values.q b/ql/src/test/queries/clientpositive/encryption_insert_values.q index 2dd3e9a..98b7451 100644 --- a/ql/src/test/queries/clientpositive/encryption_insert_values.q +++ b/ql/src/test/queries/clientpositive/encryption_insert_values.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS; DROP TABLE IF EXISTS encrypted_table PURGE; diff --git a/ql/src/test/queries/clientpositive/encryption_join_unencrypted_tbl.q b/ql/src/test/queries/clientpositive/encryption_join_unencrypted_tbl.q index cf4d040..3e97ed8 100644 --- a/ql/src/test/queries/clientpositive/encryption_join_unencrypted_tbl.q +++ b/ql/src/test/queries/clientpositive/encryption_join_unencrypted_tbl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --SORT_QUERY_RESULTS DROP TABLE IF EXISTS encrypted_table PURGE; @@ -5,11 +39,11 @@ CREATE TABLE encrypted_table (key INT, value STRING) LOCATION '${hiveconf:hive.m CRYPTO CREATE_KEY --keyName key_128 --bitLength 128; CRYPTO CREATE_ZONE --keyName key_128 --path ${hiveconf:hive.metastore.warehouse.dir}/default/encrypted_table; -INSERT OVERWRITE TABLE encrypted_table SELECT * FROM src; +INSERT OVERWRITE TABLE encrypted_table SELECT * FROM `s/c`; SELECT * FROM encrypted_table; -EXPLAIN EXTENDED SELECT * FROM src t1 JOIN encrypted_table t2 WHERE t1.key = t2.key; +EXPLAIN EXTENDED SELECT * FROM `s/c` t1 JOIN encrypted_table t2 WHERE t1.key = t2.key; drop table encrypted_table PURGE; CRYPTO DELETE_KEY --keyName key_128; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/encryption_join_with_different_encryption_keys.q b/ql/src/test/queries/clientpositive/encryption_join_with_different_encryption_keys.q index dfd3406..17405f2 100644 --- a/ql/src/test/queries/clientpositive/encryption_join_with_different_encryption_keys.q +++ b/ql/src/test/queries/clientpositive/encryption_join_with_different_encryption_keys.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --SORT_QUERY_RESULTS -- Java JCE must be installed in order to hava a key length of 256 bits @@ -11,8 +45,8 @@ CREATE TABLE table_key_2 (key INT, value STRING) LOCATION '${hiveconf:hive.metas CRYPTO CREATE_KEY --keyName key_2 --bitLength 256; CRYPTO CREATE_ZONE --keyName key_2 --path ${hiveconf:hive.metastore.warehouse.dir}/table_key_2; -INSERT OVERWRITE TABLE table_key_1 SELECT * FROM src; -INSERT OVERWRITE TABLE table_key_2 SELECT * FROM src; +INSERT OVERWRITE TABLE table_key_1 SELECT * FROM `s/c`; +INSERT OVERWRITE TABLE table_key_2 SELECT * FROM `s/c`; EXPLAIN EXTENDED SELECT * FROM table_key_1 t1 JOIN table_key_2 t2 WHERE (t1.key = t2.key); SELECT * FROM table_key_1 t1 JOIN table_key_2 t2 WHERE (t1.key = t2.key); diff --git a/ql/src/test/queries/clientpositive/encryption_load_data_to_encrypted_tables.q b/ql/src/test/queries/clientpositive/encryption_load_data_to_encrypted_tables.q index a96807e..36600f4 100644 --- a/ql/src/test/queries/clientpositive/encryption_load_data_to_encrypted_tables.q +++ b/ql/src/test/queries/clientpositive/encryption_load_data_to_encrypted_tables.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS encrypted_table PURGE; CREATE TABLE encrypted_table (key STRING, value STRING) LOCATION '${hiveconf:hive.metastore.warehouse.dir}/encrypted_table'; diff --git a/ql/src/test/queries/clientpositive/encryption_move_tbl.q b/ql/src/test/queries/clientpositive/encryption_move_tbl.q index 5a8c036..093ea3f 100644 --- a/ql/src/test/queries/clientpositive/encryption_move_tbl.q +++ b/ql/src/test/queries/clientpositive/encryption_move_tbl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS; -- we're setting this so that TestNegaiveCliDriver.vm doesn't stop processing after ALTER TABLE fails; @@ -9,7 +43,7 @@ CREATE TABLE encrypted_table (key INT, value STRING) LOCATION '${hiveconf:hive.m CRYPTO CREATE_KEY --keyName key_128 --bitLength 128; CRYPTO CREATE_ZONE --keyName key_128 --path ${hiveconf:hive.metastore.warehouse.dir}/default/encrypted_table; -INSERT OVERWRITE TABLE encrypted_table SELECT * FROM src; +INSERT OVERWRITE TABLE encrypted_table SELECT * FROM `s/c`; SHOW TABLES; ALTER TABLE default.encrypted_table RENAME TO default.plain_table; SHOW TABLES; diff --git a/ql/src/test/queries/clientpositive/encryption_select_read_only_encrypted_tbl.q b/ql/src/test/queries/clientpositive/encryption_select_read_only_encrypted_tbl.q index c9ac035..f58a4f2 100644 --- a/ql/src/test/queries/clientpositive/encryption_select_read_only_encrypted_tbl.q +++ b/ql/src/test/queries/clientpositive/encryption_select_read_only_encrypted_tbl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DROP TABLE IF EXISTS encrypted_table PURGE; diff --git a/ql/src/test/queries/clientpositive/encryption_select_read_only_unencrypted_tbl.q b/ql/src/test/queries/clientpositive/encryption_select_read_only_unencrypted_tbl.q index 732740e..357a87d 100644 --- a/ql/src/test/queries/clientpositive/encryption_select_read_only_unencrypted_tbl.q +++ b/ql/src/test/queries/clientpositive/encryption_select_read_only_unencrypted_tbl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DROP TABLE IF EXISTS unencrypted_table; diff --git a/ql/src/test/queries/clientpositive/encryption_unencrypted_nonhdfs_external_tables.q b/ql/src/test/queries/clientpositive/encryption_unencrypted_nonhdfs_external_tables.q index 150af2f..d6e5f47 100644 --- a/ql/src/test/queries/clientpositive/encryption_unencrypted_nonhdfs_external_tables.q +++ b/ql/src/test/queries/clientpositive/encryption_unencrypted_nonhdfs_external_tables.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test does not test encrypted data, but it makes sure that external tables out of HDFS can -- be queried due to internal encryption functions; diff --git a/ql/src/test/queries/clientpositive/enforce_order.q b/ql/src/test/queries/clientpositive/enforce_order.q index 6a303c3..552e06d 100644 --- a/ql/src/test/queries/clientpositive/enforce_order.q +++ b/ql/src/test/queries/clientpositive/enforce_order.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_asc; drop table table_desc; @@ -6,8 +40,8 @@ set hive.enforce.sorting = true; create table table_asc(key string, value string) clustered by (key) sorted by (key ASC) into 1 BUCKETS; create table table_desc(key string, value string) clustered by (key) sorted by (key DESC) into 1 BUCKETS; -insert overwrite table table_asc select key, value from src; -insert overwrite table table_desc select key, value from src; +insert overwrite table table_asc select key, value from `s/c`; +insert overwrite table table_desc select key, value from `s/c`; select * from table_asc limit 10; select * from table_desc limit 10; diff --git a/ql/src/test/queries/clientpositive/escape1.q b/ql/src/test/queries/clientpositive/escape1.q index d29a7a8..943bc72 100644 --- a/ql/src/test/queries/clientpositive/escape1.q +++ b/ql/src/test/queries/clientpositive/escape1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.max.dynamic.partitions.pernode=200; diff --git a/ql/src/test/queries/clientpositive/escape2.q b/ql/src/test/queries/clientpositive/escape2.q index 2460134..0ba3c6b 100644 --- a/ql/src/test/queries/clientpositive/escape2.q +++ b/ql/src/test/queries/clientpositive/escape2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.max.dynamic.partitions.pernode=200; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; diff --git a/ql/src/test/queries/clientpositive/escape3.q b/ql/src/test/queries/clientpositive/escape3.q index 192ee84..db9a4d9 100644 --- a/ql/src/test/queries/clientpositive/escape3.q +++ b/ql/src/test/queries/clientpositive/escape3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- with string CREATE TABLE escape3_1 ( diff --git a/ql/src/test/queries/clientpositive/escape_clusterby1.q b/ql/src/test/queries/clientpositive/escape_clusterby1.q index 13ea151..9c0c877 100644 --- a/ql/src/test/queries/clientpositive/escape_clusterby1.q +++ b/ql/src/test/queries/clientpositive/escape_clusterby1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- escaped column names in cluster by are not working jira 3267 explain -select key, value from src cluster by key, value; +select key, value from `s/c` cluster by key, value; explain -select `key`, value from src cluster by `key`, value; +select `key`, value from `s/c` cluster by `key`, value; diff --git a/ql/src/test/queries/clientpositive/escape_distributeby1.q b/ql/src/test/queries/clientpositive/escape_distributeby1.q index 40ed2de..bab7433 100644 --- a/ql/src/test/queries/clientpositive/escape_distributeby1.q +++ b/ql/src/test/queries/clientpositive/escape_distributeby1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- escaped column names in distribute by by are not working jira 3267 explain -select key, value from src distribute by key, value; +select key, value from `s/c` distribute by key, value; explain -select `key`, value from src distribute by `key`, value; +select `key`, value from `s/c` distribute by `key`, value; diff --git a/ql/src/test/queries/clientpositive/escape_orderby1.q b/ql/src/test/queries/clientpositive/escape_orderby1.q index 39a1c4c..5bb8be2 100644 --- a/ql/src/test/queries/clientpositive/escape_orderby1.q +++ b/ql/src/test/queries/clientpositive/escape_orderby1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- escaped column names in order by are not working jira 3267 explain -select key, value from src order by key, value; +select key, value from `s/c` order by key, value; explain -select `key`, value from src order by `key`, value; +select `key`, value from `s/c` order by `key`, value; diff --git a/ql/src/test/queries/clientpositive/escape_sortby1.q b/ql/src/test/queries/clientpositive/escape_sortby1.q index 6b487c8..885f6dc 100644 --- a/ql/src/test/queries/clientpositive/escape_sortby1.q +++ b/ql/src/test/queries/clientpositive/escape_sortby1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- escaped column names in sort by are not working jira 3267 explain -select key, value from src sort by key, value; +select key, value from `s/c` sort by key, value; explain -select `key`, value from src sort by `key`, value; +select `key`, value from `s/c` sort by `key`, value; diff --git a/ql/src/test/queries/clientpositive/exchange_partition.q b/ql/src/test/queries/clientpositive/exchange_partition.q index 96a8c90..6fc2cd3 100644 --- a/ql/src/test/queries/clientpositive/exchange_partition.q +++ b/ql/src/test/queries/clientpositive/exchange_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database ex1; create database ex2; diff --git a/ql/src/test/queries/clientpositive/exchange_partition2.q b/ql/src/test/queries/clientpositive/exchange_partition2.q index f346dde..b4cdc6b 100644 --- a/ql/src/test/queries/clientpositive/exchange_partition2.q +++ b/ql/src/test/queries/clientpositive/exchange_partition2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE exchange_part_test1 (f1 string) PARTITIONED BY (ds STRING, hr STRING); CREATE TABLE exchange_part_test2 (f1 string) PARTITIONED BY (ds STRING, hr STRING); SHOW PARTITIONS exchange_part_test1; diff --git a/ql/src/test/queries/clientpositive/exchange_partition3.q b/ql/src/test/queries/clientpositive/exchange_partition3.q index 7c076ce..7b50eda 100644 --- a/ql/src/test/queries/clientpositive/exchange_partition3.q +++ b/ql/src/test/queries/clientpositive/exchange_partition3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE exchange_part_test1 (f1 string) PARTITIONED BY (ds STRING, hr STRING); CREATE TABLE exchange_part_test2 (f1 string) PARTITIONED BY (ds STRING, hr STRING); SHOW PARTITIONS exchange_part_test1; diff --git a/ql/src/test/queries/clientpositive/exec_parallel_column_stats.q b/ql/src/test/queries/clientpositive/exec_parallel_column_stats.q index ceacc24..3da5178 100644 --- a/ql/src/test/queries/clientpositive/exec_parallel_column_stats.q +++ b/ql/src/test/queries/clientpositive/exec_parallel_column_stats.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.parallel=true; -explain analyze table src compute statistics for columns; +explain analyze table `s/c` compute statistics for columns; -analyze table src compute statistics for columns; \ No newline at end of file +analyze table `s/c` compute statistics for columns; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/exim_00_nonpart_empty.q b/ql/src/test/queries/clientpositive/exim_00_nonpart_empty.q index 8288bbf..c7810ad 100644 --- a/ql/src/test/queries/clientpositive/exim_00_nonpart_empty.q +++ b/ql/src/test/queries/clientpositive/exim_00_nonpart_empty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.security.authorization.manager=org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactoryForTest; set hive.security.authenticator.manager=org.apache.hadoop.hive.ql.security.SessionStateConfigUserAuthenticator; diff --git a/ql/src/test/queries/clientpositive/exim_01_nonpart.q b/ql/src/test/queries/clientpositive/exim_01_nonpart.q index 1e2eed8..b3721f7 100644 --- a/ql/src/test/queries/clientpositive/exim_01_nonpart.q +++ b/ql/src/test/queries/clientpositive/exim_01_nonpart.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_02_00_part_empty.q b/ql/src/test/queries/clientpositive/exim_02_00_part_empty.q index 474a5a4..98ec0db 100644 --- a/ql/src/test/queries/clientpositive/exim_02_00_part_empty.q +++ b/ql/src/test/queries/clientpositive/exim_02_00_part_empty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_02_part.q b/ql/src/test/queries/clientpositive/exim_02_part.q index dbd2c6b..3aefe94 100644 --- a/ql/src/test/queries/clientpositive/exim_02_part.q +++ b/ql/src/test/queries/clientpositive/exim_02_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_03_nonpart_over_compat.q b/ql/src/test/queries/clientpositive/exim_03_nonpart_over_compat.q index 47d949a..4ea04c5 100644 --- a/ql/src/test/queries/clientpositive/exim_03_nonpart_over_compat.q +++ b/ql/src/test/queries/clientpositive/exim_03_nonpart_over_compat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_04_all_part.q b/ql/src/test/queries/clientpositive/exim_04_all_part.q index b2567fb..8f94f79 100644 --- a/ql/src/test/queries/clientpositive/exim_04_all_part.q +++ b/ql/src/test/queries/clientpositive/exim_04_all_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_04_evolved_parts.q b/ql/src/test/queries/clientpositive/exim_04_evolved_parts.q index cd63193..ff1c928 100644 --- a/ql/src/test/queries/clientpositive/exim_04_evolved_parts.q +++ b/ql/src/test/queries/clientpositive/exim_04_evolved_parts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_05_some_part.q b/ql/src/test/queries/clientpositive/exim_05_some_part.q index a2c9773..74910d7 100644 --- a/ql/src/test/queries/clientpositive/exim_05_some_part.q +++ b/ql/src/test/queries/clientpositive/exim_05_some_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_06_one_part.q b/ql/src/test/queries/clientpositive/exim_06_one_part.q index 3a61296..d89f6d9 100644 --- a/ql/src/test/queries/clientpositive/exim_06_one_part.q +++ b/ql/src/test/queries/clientpositive/exim_06_one_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_07_all_part_over_nonoverlap.q b/ql/src/test/queries/clientpositive/exim_07_all_part_over_nonoverlap.q index 8c774d5..bff34a6 100644 --- a/ql/src/test/queries/clientpositive/exim_07_all_part_over_nonoverlap.q +++ b/ql/src/test/queries/clientpositive/exim_07_all_part_over_nonoverlap.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_08_nonpart_rename.q b/ql/src/test/queries/clientpositive/exim_08_nonpart_rename.q index 8a1d945..667f50e 100644 --- a/ql/src/test/queries/clientpositive/exim_08_nonpart_rename.q +++ b/ql/src/test/queries/clientpositive/exim_08_nonpart_rename.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee,exim_imported_dept; diff --git a/ql/src/test/queries/clientpositive/exim_09_part_spec_nonoverlap.q b/ql/src/test/queries/clientpositive/exim_09_part_spec_nonoverlap.q index 53fc293..38d1e7c 100644 --- a/ql/src/test/queries/clientpositive/exim_09_part_spec_nonoverlap.q +++ b/ql/src/test/queries/clientpositive/exim_09_part_spec_nonoverlap.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_10_external_managed.q b/ql/src/test/queries/clientpositive/exim_10_external_managed.q index 54859ee..9e3338a 100644 --- a/ql/src/test/queries/clientpositive/exim_10_external_managed.q +++ b/ql/src/test/queries/clientpositive/exim_10_external_managed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_11_managed_external.q b/ql/src/test/queries/clientpositive/exim_11_managed_external.q index 4fc39dc..972885d 100644 --- a/ql/src/test/queries/clientpositive/exim_11_managed_external.q +++ b/ql/src/test/queries/clientpositive/exim_11_managed_external.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_12_external_location.q b/ql/src/test/queries/clientpositive/exim_12_external_location.q index e4d50ff..7ea48de 100644 --- a/ql/src/test/queries/clientpositive/exim_12_external_location.q +++ b/ql/src/test/queries/clientpositive/exim_12_external_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_13_managed_location.q b/ql/src/test/queries/clientpositive/exim_13_managed_location.q index 909d237..7a1ec99 100644 --- a/ql/src/test/queries/clientpositive/exim_13_managed_location.q +++ b/ql/src/test/queries/clientpositive/exim_13_managed_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_14_managed_location_over_existing.q b/ql/src/test/queries/clientpositive/exim_14_managed_location_over_existing.q index dbb5fd9..1415f6e 100644 --- a/ql/src/test/queries/clientpositive/exim_14_managed_location_over_existing.q +++ b/ql/src/test/queries/clientpositive/exim_14_managed_location_over_existing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_15_external_part.q b/ql/src/test/queries/clientpositive/exim_15_external_part.q index 989dd6c..d215976 100644 --- a/ql/src/test/queries/clientpositive/exim_15_external_part.q +++ b/ql/src/test/queries/clientpositive/exim_15_external_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_16_part_external.q b/ql/src/test/queries/clientpositive/exim_16_part_external.q index 7eec358..eb5c9c7 100644 --- a/ql/src/test/queries/clientpositive/exim_16_part_external.q +++ b/ql/src/test/queries/clientpositive/exim_16_part_external.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_17_part_managed.q b/ql/src/test/queries/clientpositive/exim_17_part_managed.q index 20cd7e0..9f53606 100644 --- a/ql/src/test/queries/clientpositive/exim_17_part_managed.q +++ b/ql/src/test/queries/clientpositive/exim_17_part_managed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_18_part_external.q b/ql/src/test/queries/clientpositive/exim_18_part_external.q index a300b1d..f791a68 100644 --- a/ql/src/test/queries/clientpositive/exim_18_part_external.q +++ b/ql/src/test/queries/clientpositive/exim_18_part_external.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_19_00_part_external_location.q b/ql/src/test/queries/clientpositive/exim_19_00_part_external_location.q index a821c75..2183b9f 100644 --- a/ql/src/test/queries/clientpositive/exim_19_00_part_external_location.q +++ b/ql/src/test/queries/clientpositive/exim_19_00_part_external_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_19_part_external_location.q b/ql/src/test/queries/clientpositive/exim_19_part_external_location.q index be12164..c9b5df2 100644 --- a/ql/src/test/queries/clientpositive/exim_19_part_external_location.q +++ b/ql/src/test/queries/clientpositive/exim_19_part_external_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_20_part_managed_location.q b/ql/src/test/queries/clientpositive/exim_20_part_managed_location.q index 000904a..4737655 100644 --- a/ql/src/test/queries/clientpositive/exim_20_part_managed_location.q +++ b/ql/src/test/queries/clientpositive/exim_20_part_managed_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_21_export_authsuccess.q b/ql/src/test/queries/clientpositive/exim_21_export_authsuccess.q index 293a011..7cc7482 100644 --- a/ql/src/test/queries/clientpositive/exim_21_export_authsuccess.q +++ b/ql/src/test/queries/clientpositive/exim_21_export_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; diff --git a/ql/src/test/queries/clientpositive/exim_22_import_exist_authsuccess.q b/ql/src/test/queries/clientpositive/exim_22_import_exist_authsuccess.q index 03714ab..4f013d0 100644 --- a/ql/src/test/queries/clientpositive/exim_22_import_exist_authsuccess.q +++ b/ql/src/test/queries/clientpositive/exim_22_import_exist_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_23_import_part_authsuccess.q b/ql/src/test/queries/clientpositive/exim_23_import_part_authsuccess.q index cb6af0e..5b45e73 100644 --- a/ql/src/test/queries/clientpositive/exim_23_import_part_authsuccess.q +++ b/ql/src/test/queries/clientpositive/exim_23_import_part_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_24_import_nonexist_authsuccess.q b/ql/src/test/queries/clientpositive/exim_24_import_nonexist_authsuccess.q index 8934c47..e4dab00 100644 --- a/ql/src/test/queries/clientpositive/exim_24_import_nonexist_authsuccess.q +++ b/ql/src/test/queries/clientpositive/exim_24_import_nonexist_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/exim_hidden_files.q b/ql/src/test/queries/clientpositive/exim_hidden_files.q index f58c9f9..d7c7550 100644 --- a/ql/src/test/queries/clientpositive/exim_hidden_files.q +++ b/ql/src/test/queries/clientpositive/exim_hidden_files.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=exim_department,exim_employee; diff --git a/ql/src/test/queries/clientpositive/explain_dependency.q b/ql/src/test/queries/clientpositive/explain_dependency.q index eecf2a6..bcd2073 100644 --- a/ql/src/test/queries/clientpositive/explain_dependency.q +++ b/ql/src/test/queries/clientpositive/explain_dependency.q @@ -1,26 +1,60 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test is used for testing EXPLAIN DEPENDENCY command -- Create some views -CREATE VIEW V1 AS SELECT key, value from src; -CREATE VIEW V2 AS SELECT ds, key, value FROM srcpart WHERE ds IS NOT NULL; +CREATE VIEW V1 AS SELECT key, value from `s/c`; +CREATE VIEW V2 AS SELECT ds, key, value FROM `s/cpart` WHERE ds IS NOT NULL; CREATE VIEW V3 AS SELECT src1.key, src2.value FROM V2 src1 - JOIN src src2 ON src1.key = src2.key WHERE src1.ds IS NOT NULL; + JOIN `s/c` src2 ON src1.key = src2.key WHERE src1.ds IS NOT NULL; CREATE VIEW V4 AS SELECT src1.key, src2.value as value1, src3.value as value2 - FROM V1 src1 JOIN V2 src2 on src1.key = src2.key JOIN src src3 ON src2.key = src3.key; + FROM V1 src1 JOIN V2 src2 on src1.key = src2.key JOIN `s/c` src3 ON src2.key = src3.key; -- Simple select queries, union queries and join queries EXPLAIN DEPENDENCY - SELECT key, count(1) FROM srcpart WHERE ds IS NOT NULL GROUP BY key; + SELECT key, count(1) FROM `s/cpart` WHERE ds IS NOT NULL GROUP BY key; EXPLAIN DEPENDENCY - SELECT key, count(1) FROM (SELECT key, value FROM src) subq1 GROUP BY key; + SELECT key, count(1) FROM (SELECT key, value FROM `s/c`) subq1 GROUP BY key; EXPLAIN DEPENDENCY SELECT * FROM ( - SELECT key, value FROM src UNION ALL SELECT key, value FROM srcpart WHERE ds IS NOT NULL + SELECT key, value FROM `s/c` UNION ALL SELECT key, value FROM `s/cpart` WHERE ds IS NOT NULL ) S1; EXPLAIN DEPENDENCY - SELECT S1.key, S2.value FROM src S1 JOIN srcpart S2 ON S1.key = S2.key WHERE ds IS NOT NULL; + SELECT S1.key, S2.value FROM `s/c` S1 JOIN `s/cpart` S2 ON S1.key = S2.key WHERE ds IS NOT NULL; -- With views EXPLAIN DEPENDENCY SELECT * FROM V1; @@ -30,5 +64,5 @@ EXPLAIN DEPENDENCY SELECT * FROM V4; -- The table should show up in the explain dependency even if none -- of the partitions are selected. -CREATE VIEW V5 as SELECT * FROM srcpart where ds = '10'; +CREATE VIEW V5 as SELECT * FROM `s/cpart` where ds = '10'; EXPLAIN DEPENDENCY SELECT * FROM V5; diff --git a/ql/src/test/queries/clientpositive/explain_dependency2.q b/ql/src/test/queries/clientpositive/explain_dependency2.q index 88d4464..49ccbbf 100644 --- a/ql/src/test/queries/clientpositive/explain_dependency2.q +++ b/ql/src/test/queries/clientpositive/explain_dependency2.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test is used for testing EXPLAIN DEPENDENCY command -- select from a table which does not involve a map-reduce job -EXPLAIN DEPENDENCY SELECT * FROM src; +EXPLAIN DEPENDENCY SELECT * FROM `s/c`; -- select from a table which involves a map-reduce job -EXPLAIN DEPENDENCY SELECT count(*) FROM src; +EXPLAIN DEPENDENCY SELECT count(*) FROM `s/c`; -- select from a partitioned table which does not involve a map-reduce job -- and some partitions are being selected -EXPLAIN DEPENDENCY SELECT * FROM srcpart where ds is not null; +EXPLAIN DEPENDENCY SELECT * FROM `s/cpart` where ds is not null; -- select from a partitioned table which does not involve a map-reduce job -- and none of the partitions are being selected -EXPLAIN DEPENDENCY SELECT * FROM srcpart where ds = '1'; +EXPLAIN DEPENDENCY SELECT * FROM `s/cpart` where ds = '1'; -- select from a partitioned table which involves a map-reduce job -- and some partitions are being selected -EXPLAIN DEPENDENCY SELECT count(*) FROM srcpart where ds is not null; +EXPLAIN DEPENDENCY SELECT count(*) FROM `s/cpart` where ds is not null; -- select from a partitioned table which involves a map-reduce job -- and none of the partitions are being selected -EXPLAIN DEPENDENCY SELECT count(*) FROM srcpart where ds = '1'; +EXPLAIN DEPENDENCY SELECT count(*) FROM `s/cpart` where ds = '1'; -create table tstsrcpart like srcpart; +create table tstsrcpart like `s/cpart`; -- select from a partitioned table with no partitions which does not involve a map-reduce job EXPLAIN DEPENDENCY SELECT * FROM tstsrcpart where ds is not null; diff --git a/ql/src/test/queries/clientpositive/explain_logical.q b/ql/src/test/queries/clientpositive/explain_logical.q index 4b0fa5b..9f844f8 100644 --- a/ql/src/test/queries/clientpositive/explain_logical.q +++ b/ql/src/test/queries/clientpositive/explain_logical.q @@ -1,26 +1,60 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test is used for testing EXPLAIN LOGICAL command -- Create some views -CREATE VIEW V1 AS SELECT key, value from src; -CREATE VIEW V2 AS SELECT ds, key, value FROM srcpart WHERE ds IS NOT NULL; +CREATE VIEW V1 AS SELECT key, value from `s/c`; +CREATE VIEW V2 AS SELECT ds, key, value FROM `s/cpart` WHERE ds IS NOT NULL; CREATE VIEW V3 AS SELECT src1.key, src2.value FROM V2 src1 - JOIN src src2 ON src1.key = src2.key WHERE src1.ds IS NOT NULL; + JOIN `s/c` src2 ON src1.key = src2.key WHERE src1.ds IS NOT NULL; CREATE VIEW V4 AS SELECT src1.key, src2.value as value1, src3.value as value2 - FROM V1 src1 JOIN V2 src2 on src1.key = src2.key JOIN src src3 ON src2.key = src3.key; + FROM V1 src1 JOIN V2 src2 on src1.key = src2.key JOIN `s/c` src3 ON src2.key = src3.key; -- Simple select queries, union queries and join queries EXPLAIN LOGICAL - SELECT key, count(1) FROM srcpart WHERE ds IS NOT NULL GROUP BY key; + SELECT key, count(1) FROM `s/cpart` WHERE ds IS NOT NULL GROUP BY key; EXPLAIN LOGICAL - SELECT key, count(1) FROM (SELECT key, value FROM src) subq1 GROUP BY key; + SELECT key, count(1) FROM (SELECT key, value FROM `s/c`) subq1 GROUP BY key; EXPLAIN LOGICAL SELECT * FROM ( - SELECT key, value FROM src UNION ALL SELECT key, value FROM srcpart WHERE ds IS NOT NULL + SELECT key, value FROM `s/c` UNION ALL SELECT key, value FROM `s/cpart` WHERE ds IS NOT NULL ) S1; EXPLAIN LOGICAL - SELECT S1.key, S2.value FROM src S1 JOIN srcpart S2 ON S1.key = S2.key WHERE ds IS NOT NULL; + SELECT S1.key, S2.value FROM `s/c` S1 JOIN `s/cpart` S2 ON S1.key = S2.key WHERE ds IS NOT NULL; -- With views EXPLAIN LOGICAL SELECT * FROM V1; @@ -30,7 +64,7 @@ EXPLAIN LOGICAL SELECT * FROM V4; -- The table should show up in the explain logical even if none -- of the partitions are selected. -CREATE VIEW V5 as SELECT * FROM srcpart where ds = '10'; +CREATE VIEW V5 as SELECT * FROM `s/cpart` where ds = '10'; EXPLAIN LOGICAL SELECT * FROM V5; -EXPLAIN LOGICAL SELECT s1.key, s1.cnt, s2.value FROM (SELECT key, count(value) as cnt FROM src GROUP BY key) s1 JOIN src s2 ON (s1.key = s2.key) ORDER BY s1.key; +EXPLAIN LOGICAL SELECT s1.key, s1.cnt, s2.value FROM (SELECT key, count(value) as cnt FROM `s/c` GROUP BY key) s1 JOIN `s/c` s2 ON (s1.key = s2.key) ORDER BY s1.key; diff --git a/ql/src/test/queries/clientpositive/explain_rearrange.q b/ql/src/test/queries/clientpositive/explain_rearrange.q index ca2da35..0a0530d 100644 --- a/ql/src/test/queries/clientpositive/explain_rearrange.q +++ b/ql/src/test/queries/clientpositive/explain_rearrange.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- query from auto_sortmerge_join_9.q CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; diff --git a/ql/src/test/queries/clientpositive/explainuser_1.q b/ql/src/test/queries/clientpositive/explainuser_1.q index 2862de4..872c4b9 100644 --- a/ql/src/test/queries/clientpositive/explainuser_1.q +++ b/ql/src/test/queries/clientpositive/explainuser_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=true; explain create table src_orc_merge_test_part(key int, value string) partitioned by (ds string, ts string) stored as orc; @@ -6,9 +40,9 @@ create table src_orc_merge_test_part(key int, value string) partitioned by (ds s alter table src_orc_merge_test_part add partition (ds='2012-01-03', ts='2012-01-03+14:46:31'); desc extended src_orc_merge_test_part partition (ds='2012-01-03', ts='2012-01-03+14:46:31'); -explain insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src; -insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src; -explain insert into table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from src limit 100; +explain insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from `s/c`; +insert overwrite table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from `s/c`; +explain insert into table src_orc_merge_test_part partition(ds='2012-01-03', ts='2012-01-03+14:46:31') select * from `s/c` limit 100; explain select count(1) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'; explain select sum(hash(key)), sum(hash(value)) from src_orc_merge_test_part where ds='2012-01-03' and ts='2012-01-03+14:46:31'; @@ -27,9 +61,9 @@ explain select sum(hash(a.k1,a.v1,a.k2, a.v2)) from ( select src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (select * FROM src WHERE src.key < 10) src1 + (select * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (select * FROM src WHERE src.key < 10) src2 + (select * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2 ) a; @@ -52,7 +86,7 @@ explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, su explain select cbo_t3.c_int, c, count(*) from (select key as a, c_int+1 as b, sum(c_int) as c from cbo_t1 where (cbo_t1.c_int + 1 >= 0) and (cbo_t1.c_int > 0 or cbo_t1.c_float >= 0) group by c_float, cbo_t1.c_int, key having cbo_t1.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t1 join (select key as p, c_int+1 as q, sum(c_int) as r from cbo_t2 where (cbo_t2.c_int + 1 >= 0) and (cbo_t2.c_int > 0 or cbo_t2.c_float >= 0) group by c_float, cbo_t2.c_int, key having cbo_t2.c_float > 0 and (c_int >=1 or c_float >= 1) and (c_int + c_float) >= 0) cbo_t2 on cbo_t1.a=p join cbo_t3 on cbo_t1.a=key where (b + cbo_t2.q >= 0) and (b > 0 or c_int >= 0) group by cbo_t3.c_int, c; -explain select unionsrc.key FROM (select 'tst1' as key, count(1) as value from src) unionsrc; +explain select unionsrc.key FROM (select 'tst1' as key, count(1) as value from `s/c`) unionsrc; explain select unionsrc.key FROM (select 'max' as key, max(c_int) as value from cbo_t3 s1 UNION ALL @@ -211,14 +245,14 @@ set hive.optimize.correlation=false; explain select SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (select x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.optimize.correlation=true; explain select SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (select x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=true; @@ -226,7 +260,7 @@ set hive.optimize.correlation=true; explain select SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (select x.key AS key, count(1) AS cnt - FROM src1 x JOIN src y ON (x.key = y.key) + FROM src1 x JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; set hive.auto.convert.join=false; @@ -234,7 +268,7 @@ set hive.optimize.correlation=false; explain select SUM(HASH(tmp.key)), SUM(HASH(tmp.cnt)) FROM (select x.key AS key, count(1) AS cnt - FROM src1 x LEFT SEMI JOIN src y ON (x.key = y.key) + FROM src1 x LEFT SEMI JOIN `s/c` y ON (x.key = y.key) GROUP BY x.key) tmp; explain create table abcd (a int, b int, c int, d int); @@ -273,23 +307,23 @@ explain select sum(hash(key)), sum(hash(value)) from tgt_rc_merge_test; drop table src_rc_merge_test; drop table tgt_rc_merge_test; -explain select src.key from src cross join src src2; +explain select `s/c`.key from `s/c` cross join `s/c` src2; explain create table nzhang_Tmp(a int, b string); create table nzhang_Tmp(a int, b string); -explain create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; -create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10; +explain create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; +create table nzhang_CTAS1 as select key k, value from `s/c` sort by k, value limit 10; -explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; -create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10; +create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from `s/c` sort by half_key, conb limit 10; -explain create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +explain create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; -create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2; +create table if not exists nzhang_ctas3 as select key, value from `s/c` sort by key, value limit 2; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; @@ -305,9 +339,9 @@ set hive.groupby.skewindata=true; explain select src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (select * FROM src WHERE src.key < 10) src1 + (select * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (select * FROM src WHERE src.key < 10) src2 + (select * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; @@ -378,15 +412,15 @@ set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; set hive.auto.convert.join.noconditionaltask.size=10000; -explain select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +explain select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; set hive.mapjoin.optimized.hashtable=false; -explain select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +explain select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; set hive.mapjoin.optimized.hashtable=true; -explain select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +explain select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; explain select p_mfgr, p_name, p_size, @@ -601,7 +635,7 @@ from noop(on partition by p_mfgr order by p_mfgr)); -explain select distinct src.* from src; +explain select distinct `s/c`.* from `s/c`; explain select explode(array('a', 'b')); @@ -621,10 +655,10 @@ LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T4; explain -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 select src1.key, src2.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 select src1.key, src2.value; @@ -641,14 +675,14 @@ FROM T1 a JOIN T2 b ON a.key = b.key JOIN T3 c ON b.key = c.key JOIN T4 d ON c.key = d.key; -explain FROM T1 a JOIN src c ON c.key+1=a.key select /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); -FROM T1 a JOIN src c ON c.key+1=a.key select /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); +explain FROM T1 a JOIN `s/c` c ON c.key+1=a.key select /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); +FROM T1 a JOIN `s/c` c ON c.key+1=a.key select /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); explain select * FROM -(select src.* FROM src) x +(select `s/c`.* FROM `s/c`) x JOIN -(select src.* FROM src) Y +(select `s/c`.* FROM `s/c`) Y ON (x.key = Y.key); diff --git a/ql/src/test/queries/clientpositive/explainuser_2.q b/ql/src/test/queries/clientpositive/explainuser_2.q index 560a086..8d98bd4 100644 --- a/ql/src/test/queries/clientpositive/explainuser_2.q +++ b/ql/src/test/queries/clientpositive/explainuser_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=true; set hive.metastore.aggregate.stats.cache.enabled=false; @@ -14,20 +48,20 @@ CREATE TABLE cs(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STO INSERT OVERWRITE TABLE ss SELECT x.key,x.value,y.key,y.value,z.key,z.value FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE sr SELECT x.key,x.value,y.key,y.value,z.key,z.value FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=12); +JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=12); INSERT OVERWRITE TABLE cs SELECT x.key,x.value,y.key,y.value,z.key,z.value FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08'); +JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08'); ANALYZE TABLE ss COMPUTE STATISTICS; @@ -43,14 +77,14 @@ set hive.auto.convert.join=false; EXPLAIN SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); EXPLAIN select ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart +ss,sr,cs,`s/c` d1,`s/c` d2,`s/c` d3,src1,`s/cpart` where ss.k1 = d1.key and sr.k1 = d2.key @@ -58,13 +92,13 @@ and cs.k1 = d3.key and ss.k2 = sr.k2 and ss.k3 = sr.k3 and ss.v1 = src1.value -and ss.v2 = srcpart.value +and ss.v2 = `s/cpart`.value and sr.v2 = cs.v2 and sr.v3 = cs.v3 and ss.v3='ssv3' and sr.v1='srv1' and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' +and `s/cpart`.key = 'srcpartkey' and d1.value = 'd1value' and d2.value in ('2000Q1','2000Q2','2000Q3') and d3.value in ('2000Q1','2000Q2','2000Q3') @@ -76,25 +110,25 @@ limit 100; explain SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value); explain SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value); set hive.auto.convert.join=true; @@ -103,14 +137,14 @@ set hive.auto.convert.join.noconditionaltask.size=10000; EXPLAIN SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); EXPLAIN select ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart +ss,sr,cs,`s/c` d1,`s/c` d2,`s/c` d3,src1,`s/cpart` where ss.k1 = d1.key and sr.k1 = d2.key @@ -118,13 +152,13 @@ and cs.k1 = d3.key and ss.k2 = sr.k2 and ss.k3 = sr.k3 and ss.v1 = src1.value -and ss.v2 = srcpart.value +and ss.v2 = `s/cpart`.value and sr.v2 = cs.v2 and sr.v3 = cs.v3 and ss.v3='ssv3' and sr.v1='srv1' and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' +and `s/cpart`.key = 'srcpartkey' and d1.value = 'd1value' and d2.value in ('2000Q1','2000Q2','2000Q3') and d3.value in ('2000Q1','2000Q2','2000Q3') @@ -136,25 +170,25 @@ limit 100; explain SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value); explain SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value); set hive.auto.convert.join=true; @@ -219,29 +253,29 @@ select s2.key as key, s2.value as value from tab s2 explain SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union all select * from `s/c`)z ON (x.value = z.value) union all SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) +FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union all select key, value from `s/c` union all select key, value from `s/c`)z ON (x.value = z.value) union all SELECT x.key, y.value FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value); +JOIN (select key, value from src1 union all select key, value from `s/c` union all select key, value from `s/c` union all select key, value from `s/c`)z ON (x.value = z.value); explain SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) +FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value) union SELECT x.key, y.value FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value); +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value); CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE b(key STRING, value STRING) STORED AS TEXTFILE; @@ -251,16 +285,16 @@ explain from ( SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union all select * from `s/c`)z ON (x.value = z.value) union all SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) +FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union all select key, value from `s/c` union all select key, value from `s/c`)z ON (x.value = z.value) union all SELECT x.key, y.value FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value) +JOIN (select key, value from src1 union all select key, value from `s/c` union all select key, value from `s/c` union all select key, value from `s/c`)z ON (x.value = z.value) ) tmp INSERT OVERWRITE TABLE a SELECT tmp.key, tmp.value INSERT OVERWRITE TABLE b SELECT tmp.key, tmp.value @@ -269,14 +303,14 @@ INSERT OVERWRITE TABLE c SELECT tmp.key, tmp.value; explain FROM ( -SELECT x.key as key, y.value as value from src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) +SELECT x.key as key, y.value as value from src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN (select * from src1 union select * from `s/c`)z ON (x.value = z.value) union -SELECT x.key as key, y.value as value from src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) +SELECT x.key as key, y.value as value from `s/c` x JOIN `s/c` y ON (x.key = y.key) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value) union SELECT x.key as key, y.value as value from src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) +JOIN (select key, value from src1 union select key, value from `s/c` union select key, value from `s/c` union select key, value from `s/c`)z ON (x.value = z.value) ) tmp INSERT OVERWRITE TABLE a SELECT tmp.key, tmp.value INSERT OVERWRITE TABLE b SELECT tmp.key, tmp.value @@ -287,30 +321,30 @@ CREATE TABLE DEST1(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; -EXPLAIN FROM UNIQUEJOIN PRESERVE src a (a.key), PRESERVE src1 b (b.key), PRESERVE srcpart c (c.key) SELECT a.key, b.key, c.key; +EXPLAIN FROM UNIQUEJOIN PRESERVE `s/c` a (a.key), PRESERVE src1 b (b.key), PRESERVE `s/cpart` c (c.key) SELECT a.key, b.key, c.key; set hive.entity.capture.transform=true; EXPLAIN SELECT TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) -FROM src a join src b +FROM `s/c` a join `s/c` b on a.key = b.key; explain FROM ( select key, value from ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2) unionsub + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2) unionsub UNION all - select key, value from src s0 + select key, value from `s/c` s0 ) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) @@ -318,9 +352,9 @@ GROUP BY unionsrc.key, unionsrc.value; explain FROM ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2 + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2 ) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) diff --git a/ql/src/test/queries/clientpositive/explainuser_3.q b/ql/src/test/queries/clientpositive/explainuser_3.q index 16237bb..2601bda 100644 --- a/ql/src/test/queries/clientpositive/explainuser_3.q +++ b/ql/src/test/queries/clientpositive/explainuser_3.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=true; explain select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol; +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol; explain show tables; @@ -31,21 +65,21 @@ use default; drop database newDB; -explain analyze table src compute statistics; +explain analyze table `s/c` compute statistics; -explain analyze table src compute statistics for columns; +explain analyze table `s/c` compute statistics for columns; explain CREATE TEMPORARY MACRO SIGMOID (x DOUBLE) 1.0 / (1.0 + EXP(-x)); CREATE TEMPORARY MACRO SIGMOID (x DOUBLE) 1.0 / (1.0 + EXP(-x)); -EXPLAIN SELECT SIGMOID(2) FROM src LIMIT 1; +EXPLAIN SELECT SIGMOID(2) FROM `s/c` LIMIT 1; explain DROP TEMPORARY MACRO SIGMOID; DROP TEMPORARY MACRO SIGMOID; -explain create table src_autho_test as select * from src; -create table src_autho_test as select * from src; +explain create table src_autho_test as select * from `s/c`; +create table src_autho_test as select * from `s/c`; set hive.security.authorization.enabled=true; @@ -83,10 +117,10 @@ drop table src_autho_test; explain drop view v; -explain create view v as with cte as (select * from src order by key limit 5) +explain create view v as with cte as (select * from `s/c` order by key limit 5) select * from cte; -explain with cte as (select * from src order by key limit 5) +explain with cte as (select * from `s/c` order by key limit 5) select * from cte; create table orc_merge5 (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc; diff --git a/ql/src/test/queries/clientpositive/explode_null.q b/ql/src/test/queries/clientpositive/explode_null.q index 6a540f7..bfa9322 100644 --- a/ql/src/test/queries/clientpositive/explode_null.q +++ b/ql/src/test/queries/clientpositive/explode_null.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SELECT explode(col) AS myCol FROM - (select * from (SELECT array(1,2,3) AS col FROM src LIMIT 1)ea + (select * from (SELECT array(1,2,3) AS col FROM `s/c` LIMIT 1)ea UNION ALL - select * from (SELECT IF(false, array(1,2,3), NULL) AS col FROM src LIMIT 1)eb) a; + select * from (SELECT IF(false, array(1,2,3), NULL) AS col FROM `s/c` LIMIT 1)eb) a; SELECT explode(col) AS (myCol1,myCol2) FROM - (select * from (SELECT map(1,'one',2,'two',3,'three') AS col FROM src LIMIT 1)ea + (select * from (SELECT map(1,'one',2,'two',3,'three') AS col FROM `s/c` LIMIT 1)ea UNION ALL - select * from (SELECT IF(false, map(1,'one',2,'two',3,'three'), NULL) AS col FROM src LIMIT 1)eb ) a; + select * from (SELECT IF(false, map(1,'one',2,'two',3,'three'), NULL) AS col FROM `s/c` LIMIT 1)eb ) a; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/expr_cached.q b/ql/src/test/queries/clientpositive/expr_cached.q index 8fc182c..e48242f 100644 --- a/ql/src/test/queries/clientpositive/expr_cached.q +++ b/ql/src/test/queries/clientpositive/expr_cached.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- should return a value -select * from src tablesample (1 rows) where length(key) <> reverse(key); \ No newline at end of file +select * from `s/c` tablesample (1 rows) where length(key) <> reverse(key); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/external_table_with_space_in_location_path.q b/ql/src/test/queries/clientpositive/external_table_with_space_in_location_path.q index ad07046..7c9ccd1 100644 --- a/ql/src/test/queries/clientpositive/external_table_with_space_in_location_path.q +++ b/ql/src/test/queries/clientpositive/external_table_with_space_in_location_path.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/test/; dfs -copyFromLocal ../../data/files/ext_test_space hdfs:///tmp/test/ext_test_space; diff --git a/ql/src/test/queries/clientpositive/extrapolate_part_stats_full.q b/ql/src/test/queries/clientpositive/extrapolate_part_stats_full.q index 00c9b53..4990cb6 100644 --- a/ql/src/test/queries/clientpositive/extrapolate_part_stats_full.q +++ b/ql/src/test/queries/clientpositive/extrapolate_part_stats_full.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; diff --git a/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial.q b/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial.q index 5c062ee..0fff5ac 100644 --- a/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial.q +++ b/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; diff --git a/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial_ndv.q b/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial_ndv.q index 5f0160a..cf84898 100644 --- a/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial_ndv.q +++ b/ql/src/test/queries/clientpositive/extrapolate_part_stats_partial_ndv.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.metastore.stats.ndv.densityfunction=true; set hive.stats.fetch.column.stats=true; set hive.exec.dynamic.partition=true; diff --git a/ql/src/test/queries/clientpositive/fetch_aggregation.q b/ql/src/test/queries/clientpositive/fetch_aggregation.q index a56b6c8..7776062 100644 --- a/ql/src/test/queries/clientpositive/fetch_aggregation.q +++ b/ql/src/test/queries/clientpositive/fetch_aggregation.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.aggr=true; set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; explain -select count(key),sum(key),avg(key),min(key),max(key),std(key),variance(key) from src; +select count(key),sum(key),avg(key),min(key),max(key),std(key),variance(key) from `s/c`; -select count(key),sum(key),avg(key),min(key),max(key),std(key),variance(key) from src; +select count(key),sum(key),avg(key),min(key),max(key),std(key),variance(key) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/file_with_header_footer.q b/ql/src/test/queries/clientpositive/file_with_header_footer.q index 8b65c78..f3a9f5d 100644 --- a/ql/src/test/queries/clientpositive/file_with_header_footer.q +++ b/ql/src/test/queries/clientpositive/file_with_header_footer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/test/; dfs -copyFromLocal ../../data/files/header_footer_table_1 hdfs:///tmp/test/header_footer_table_1; diff --git a/ql/src/test/queries/clientpositive/fileformat_mix.q b/ql/src/test/queries/clientpositive/fileformat_mix.q index 1e0c164..f3cb8b2 100644 --- a/ql/src/test/queries/clientpositive/fileformat_mix.q +++ b/ql/src/test/queries/clientpositive/fileformat_mix.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -create table fileformat_mix_test (src int, value string) partitioned by (ds string); +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + + + +create table fileformat_mix_test (`s/c` int, value string) partitioned by (ds string); alter table fileformat_mix_test set fileformat Sequencefile; insert overwrite table fileformat_mix_test partition (ds='1') -select key, value from src; +select key, value from `s/c`; alter table fileformat_mix_test add partition (ds='2'); @@ -12,5 +46,5 @@ alter table fileformat_mix_test set fileformat rcfile; select count(1) from fileformat_mix_test; -select src from fileformat_mix_test; +select `s/c` from fileformat_mix_test; diff --git a/ql/src/test/queries/clientpositive/fileformat_sequencefile.q b/ql/src/test/queries/clientpositive/fileformat_sequencefile.q index 895c70f..15342c5 100644 --- a/ql/src/test/queries/clientpositive/fileformat_sequencefile.q +++ b/ql/src/test/queries/clientpositive/fileformat_sequencefile.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE dest1(key INT, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.SequenceFileInputFormat' @@ -9,8 +43,8 @@ CREATE TABLE dest1(key INT, value STRING) STORED AS DESCRIBE EXTENDED dest1; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 10; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 10; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/fileformat_text.q b/ql/src/test/queries/clientpositive/fileformat_text.q index 8233ade..759836f 100644 --- a/ql/src/test/queries/clientpositive/fileformat_text.q +++ b/ql/src/test/queries/clientpositive/fileformat_text.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE dest1(key INT, value STRING) STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' @@ -9,8 +43,8 @@ CREATE TABLE dest1(key INT, value STRING) STORED AS DESCRIBE EXTENDED dest1; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 10; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 10; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/filter_cond_pushdown.q b/ql/src/test/queries/clientpositive/filter_cond_pushdown.q index 5e23b71..c9f6f19 100644 --- a/ql/src/test/queries/clientpositive/filter_cond_pushdown.q +++ b/ql/src/test/queries/clientpositive/filter_cond_pushdown.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT f.key, g.value -FROM src f JOIN src m JOIN src g ON(g.value = m.value AND m.value is not null AND m.value !='') +FROM `s/c` f JOIN `s/c` m JOIN `s/c` g ON(g.value = m.value AND m.value is not null AND m.value !='') WHERE (f.key = m.key AND f.value='2008-04-08' AND m.value='2008-04-08') OR (f.key = m.key AND f.value='2008-04-09'); EXPLAIN SELECT f.key, g.value -FROM src f JOIN src m JOIN src g ON(g.value = m.value AND m.value is not null AND m.value !='') +FROM `s/c` f JOIN `s/c` m JOIN `s/c` g ON(g.value = m.value AND m.value is not null AND m.value !='') WHERE (f.key = m.key AND f.value IN ('2008-04-08','2008-04-10') AND m.value='2008-04-08') OR (f.key = m.key AND f.value='2008-04-09'); EXPLAIN diff --git a/ql/src/test/queries/clientpositive/filter_join_breaktask.q b/ql/src/test/queries/clientpositive/filter_join_breaktask.q index fe4c8fe..a3f9848 100644 --- a/ql/src/test/queries/clientpositive/filter_join_breaktask.q +++ b/ql/src/test/queries/clientpositive/filter_join_breaktask.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE filter_join_breaktask(key int, value string) partitioned by (ds string); diff --git a/ql/src/test/queries/clientpositive/filter_join_breaktask2.q b/ql/src/test/queries/clientpositive/filter_join_breaktask2.q index a7b3221..901a1ce 100644 --- a/ql/src/test/queries/clientpositive/filter_join_breaktask2.q +++ b/ql/src/test/queries/clientpositive/filter_join_breaktask2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table T1(c1 string, c2 string, c3 string, c4 string, c5 string, c6 string, c7 string) @@ -9,14 +43,14 @@ create table T3 (c0 bigint, c1 bigint, c2 int) partitioned by (ds string); create table T4 (c0 bigint, c1 string, c2 string, c3 string, c4 string, c5 string, c6 string, c7 string, c8 string, c9 string, c10 string, c11 string, c12 string, c13 string, c14 string, c15 string, c16 string, c17 string, c18 string, c19 string, c20 string, c21 string, c22 string, c23 string, c24 string, c25 string, c26 string, c27 string, c28 string, c29 string, c30 string, c31 string, c32 string, c33 string, c34 string, c35 string, c36 string, c37 string, c38 string, c39 string, c40 string, c41 string, c42 string, c43 string, c44 string, c45 string, c46 string, c47 string, c48 string, c49 string, c50 string, c51 string, c52 string, c53 string, c54 string, c55 string, c56 string, c57 string, c58 string, c59 string, c60 string, c61 string, c62 string, c63 string, c64 string, c65 string, c66 string, c67 bigint, c68 string, c69 string, c70 bigint, c71 bigint, c72 bigint, c73 string, c74 string, c75 string, c76 string, c77 string, c78 string, c79 string, c80 string, c81 bigint, c82 bigint, c83 bigint) partitioned by (ds string); -insert overwrite table T1 partition (ds='2010-04-17') select '5', '1', '1', '1', 0, 0,4 from src tablesample (1 rows); +insert overwrite table T1 partition (ds='2010-04-17') select '5', '1', '1', '1', 0, 0,4 from `s/c` tablesample (1 rows); -insert overwrite table T2 partition(ds='2010-04-17') select '5','name', NULL, '2', 'kavin',NULL, '9', 'c', '8', '0', '0', '7', '1','2', '0', '3','2', NULL, '1', NULL, '3','2','0','0','5','10' from src tablesample (1 rows); +insert overwrite table T2 partition(ds='2010-04-17') select '5','name', NULL, '2', 'kavin',NULL, '9', 'c', '8', '0', '0', '7', '1','2', '0', '3','2', NULL, '1', NULL, '3','2','0','0','5','10' from `s/c` tablesample (1 rows); -insert overwrite table T3 partition (ds='2010-04-17') select 4,5,0 from src tablesample (1 rows); +insert overwrite table T3 partition (ds='2010-04-17') select 4,5,0 from `s/c` tablesample (1 rows); insert overwrite table T4 partition(ds='2010-04-17') -select 4,'1','1','8','4','5','1','0','9','U','2','2', '0','2','1','1','J','C','A','U', '2','s', '2',NULL, NULL, NULL,NULL, NULL, NULL,'1','j', 'S', '6',NULL,'1', '2', 'J', 'g', '1', 'e', '2', '1', '2', 'U', 'P', 'p', '3', '0', '0', '0', '1', '1', '1', '0', '0', '0', '6', '2', 'j',NULL, NULL, NULL,NULL,NULL, NULL, '5',NULL, 'j', 'j', 2, 2, 1, '2', '2', '1', '1', '1', '1', '1', '1', 1, 1, 32,NULL from src limit 1; +select 4,'1','1','8','4','5','1','0','9','U','2','2', '0','2','1','1','J','C','A','U', '2','s', '2',NULL, NULL, NULL,NULL, NULL, NULL,'1','j', 'S', '6',NULL,'1', '2', 'J', 'g', '1', 'e', '2', '1', '2', 'U', 'P', 'p', '3', '0', '0', '0', '1', '1', '1', '0', '0', '0', '6', '2', 'j',NULL, NULL, NULL,NULL,NULL, NULL, '5',NULL, 'j', 'j', 2, 2, 1, '2', '2', '1', '1', '1', '1', '1', '1', 1, 1, 32,NULL from `s/c` limit 1; select * from T2; select * from T1; diff --git a/ql/src/test/queries/clientpositive/filter_numeric.q b/ql/src/test/queries/clientpositive/filter_numeric.q index 9507298..2088193 100644 --- a/ql/src/test/queries/clientpositive/filter_numeric.q +++ b/ql/src/test/queries/clientpositive/filter_numeric.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_AND_HASH_QUERY_RESULTS create table partint(key string, value string) partitioned by (ds string, hr int); -insert overwrite table partint partition(ds, hr) select * from srcpart where ds = '2008-04-08'; +insert overwrite table partint partition(ds, hr) select * from `s/cpart` where ds = '2008-04-08'; explain select key, value, hr from partint where hr < 11; select key, value, hr from partint where hr < 11; diff --git a/ql/src/test/queries/clientpositive/flatten_and_or.q b/ql/src/test/queries/clientpositive/flatten_and_or.q index 6c6e0f9..64c0c40 100644 --- a/ql/src/test/queries/clientpositive/flatten_and_or.q +++ b/ql/src/test/queries/clientpositive/flatten_and_or.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.point.lookup=false; explain SELECT key -FROM src +FROM `s/c` WHERE ((key = '0' AND value = '8') OR (key = '1' diff --git a/ql/src/test/queries/clientpositive/fold_case.q b/ql/src/test/queries/clientpositive/fold_case.q index 4732aa5..23fece6 100644 --- a/ql/src/test/queries/clientpositive/fold_case.q +++ b/ql/src/test/queries/clientpositive/fold_case.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select count(1) from src where (case key when '238' then true else false end); +select count(1) from `s/c` where (case key when '238' then true else false end); explain -select count(1) from src where (case key when '238' then 1=2 else 1=1 end); +select count(1) from `s/c` where (case key when '238' then 1=2 else 1=1 end); explain -select count(1) from src where (case key when '238' then 1=2 else 1=31 end); +select count(1) from `s/c` where (case key when '238' then 1=2 else 1=31 end); explain -select count(1) from src where (case key when '238' then true else 1=1 end); +select count(1) from `s/c` where (case key when '238' then true else 1=1 end); explain -select count(1) from src where (case key when '238' then 1=1 else 1=null end); +select count(1) from `s/c` where (case key when '238' then 1=1 else 1=null end); explain -select count(1) from src where (case key when '238' then 1=null end); +select count(1) from `s/c` where (case key when '238' then 1=null end); explain -select count(1) from src where (case key when '238' then 2 = cast('2' as bigint) end); +select count(1) from `s/c` where (case key when '238' then 2 = cast('2' as bigint) end); explain -select (case key when '238' then null else false end) from src where (case key when '238' then 2 = cast('1' as bigint) else true end); +select (case key when '238' then null else false end) from `s/c` where (case key when '238' then 2 = cast('1' as bigint) else true end); explain -select (case key when '238' then null else null end) from src where (case key when '238' then 2 = null else 3 = null end); +select (case key when '238' then null else null end) from `s/c` where (case key when '238' then 2 = null else 3 = null end); explain -select count(1) from src where (case key when '238' then null else 1=1 end); +select count(1) from `s/c` where (case key when '238' then null else 1=1 end); diff --git a/ql/src/test/queries/clientpositive/fold_eq_with_case_when.q b/ql/src/test/queries/clientpositive/fold_eq_with_case_when.q index b6b54b4..b2de435 100644 --- a/ql/src/test/queries/clientpositive/fold_eq_with_case_when.q +++ b/ql/src/test/queries/clientpositive/fold_eq_with_case_when.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain SELECT SUM((CASE WHEN 1000000 = 0 THEN NULL ELSE l_partkey / 1000000 END)), @@ -15,7 +49,7 @@ WHERE GROUP BY l_orderkey; -explain select key from src where (case key when '238' then 1 else 2 end) = 1; -explain select key from src where (case key when '238' then 1 when '94' then 1 else 3 end) = cast('1' as int); -explain select key from src where (case key when '238' then 1 else 2 end) = (case when key != '238' then 1 else 1 end); -explain select key from src where (case key when '238' then 1 end) = (case when key != '238' then 1 when key = '23' then 1 end); +explain select key from `s/c` where (case key when '238' then 1 else 2 end) = 1; +explain select key from `s/c` where (case key when '238' then 1 when '94' then 1 else 3 end) = cast('1' as int); +explain select key from `s/c` where (case key when '238' then 1 else 2 end) = (case when key != '238' then 1 else 1 end); +explain select key from `s/c` where (case key when '238' then 1 end) = (case when key != '238' then 1 when key = '23' then 1 end); diff --git a/ql/src/test/queries/clientpositive/fold_when.q b/ql/src/test/queries/clientpositive/fold_when.q index e827a5c..bd472cd 100644 --- a/ql/src/test/queries/clientpositive/fold_when.q +++ b/ql/src/test/queries/clientpositive/fold_when.q @@ -1,31 +1,65 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select key from src where ((case when (key = '238') then null end) = 1); +select key from `s/c` where ((case when (key = '238') then null end) = 1); explain -select key from src where ((case when (key = '238') then null else null end) = 1); +select key from `s/c` where ((case when (key = '238') then null else null end) = 1); explain -select key from src where ((case when (key = '238') then 1 else 1 end) = 1); +select key from `s/c` where ((case when (key = '238') then 1 else 1 end) = 1); explain -select key from src where ((case when (key = '238') then 1 else 1 end) = 2); +select key from `s/c` where ((case when (key = '238') then 1 else 1 end) = 2); explain -select key from src where ((case when (key = '238') then 1 else null end) = 1); +select key from `s/c` where ((case when (key = '238') then 1 else null end) = 1); explain -select key from src where ((case when (key = '238') then 1=1 else null=1 end)); +select key from `s/c` where ((case when (key = '238') then 1=1 else null=1 end)); explain -select key from src where ((case when (key = '238') then 1=1 else 2=2 end)); +select key from `s/c` where ((case when (key = '238') then 1=1 else 2=2 end)); explain -select key from src where ((case when (key = '238') then 1=3 else 2=1 end)); +select key from `s/c` where ((case when (key = '238') then 1=3 else 2=1 end)); explain -select key from src where ((case when (key = '238') then 1=1 else 2=1 end)); +select key from `s/c` where ((case when (key = '238') then 1=1 else 2=1 end)); explain -select key from src where ((case when (key = '238') then 1=3 else 1=1 end)); +select key from `s/c` where ((case when (key = '238') then 1=3 else 1=1 end)); explain -select key from src where ((case when ('23' = '23') then 1 else 1 end) = 1); +select key from `s/c` where ((case when ('23' = '23') then 1 else 1 end) = 1); explain -select key from src where ((case when ('2' = '238') then 1 else 2 end) = 2); +select key from `s/c` where ((case when ('2' = '238') then 1 else 2 end) = 2); explain -select key from src where ((case when (true=null) then 1 else 1 end) = 1); +select key from `s/c` where ((case when (true=null) then 1 else 1 end) = 1); explain -select key from src where ((case when (key = (case when (key = '238') then '11' else '11' end)) then false else true end)); +select key from `s/c` where ((case when (key = (case when (key = '238') then '11' else '11' end)) then false else true end)); explain -select key from src where ((case when (key = (case when (key = '238') then '12' else '11' end)) then 2=2 else true end)); +select key from `s/c` where ((case when (key = (case when (key = '238') then '12' else '11' end)) then 2=2 else true end)); diff --git a/ql/src/test/queries/clientpositive/folder_predicate.q b/ql/src/test/queries/clientpositive/folder_predicate.q index 2377dd4..2703efd 100644 --- a/ql/src/test/queries/clientpositive/folder_predicate.q +++ b/ql/src/test/queries/clientpositive/folder_predicate.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists predicate_fold_tb; create table predicate_fold_tb(value int); diff --git a/ql/src/test/queries/clientpositive/fouter_join_ppr.q b/ql/src/test/queries/clientpositive/fouter_join_ppr.q index 4bf3705..d1bb303 100644 --- a/ql/src/test/queries/clientpositive/fouter_join_ppr.q +++ b/ql/src/test/queries/clientpositive/fouter_join_ppr.q @@ -1,37 +1,71 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- SORT_QUERY_RESULTS EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - srcpart a + `s/cpart` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; @@ -39,34 +73,34 @@ EXPLAIN EXTENDED EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; FROM - srcpart a + `s/cpart` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/gby_star.q b/ql/src/test/queries/clientpositive/gby_star.q index 2f7952c..80475b8 100644 --- a/ql/src/test/queries/clientpositive/gby_star.q +++ b/ql/src/test/queries/clientpositive/gby_star.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select *, sum(key) from src group by key, value limit 10; -select *, sum(key) from src group by key, value limit 10; +select *, sum(key) from `s/c` group by key, value limit 10; +select *, sum(key) from `s/c` group by key, value limit 10; explain -select *, sum(key) from src where key < 100 group by key, value limit 10; -select *, sum(key) from src where key < 100 group by key, value limit 10; +select *, sum(key) from `s/c` where key < 100 group by key, value limit 10; +select *, sum(key) from `s/c` where key < 100 group by key, value limit 10; explain -select *, sum(key) from (select key from src where key < 100) a group by key limit 10; -select *, sum(key) from (select key from src where key < 100) a group by key limit 10; +select *, sum(key) from (select key from `s/c` where key < 100) a group by key limit 10; +select *, sum(key) from (select key from `s/c` where key < 100) a group by key limit 10; explain -select a.*, sum(src.key) from (select key from src where key < 100) a -inner join src on a.key = src.key group by a.key limit 10; -select a.*, sum(src.key) from (select key from src where key < 100) a -inner join src on a.key = src.key group by a.key limit 10; +select a.*, sum(`s/c`.key) from (select key from `s/c` where key < 100) a +inner join `s/c` on a.key = `s/c`.key group by a.key limit 10; +select a.*, sum(`s/c`.key) from (select key from `s/c` where key < 100) a +inner join `s/c` on a.key = `s/c`.key group by a.key limit 10; diff --git a/ql/src/test/queries/clientpositive/global_limit.q b/ql/src/test/queries/clientpositive/global_limit.q index 988105c..9da1f57 100644 --- a/ql/src/test/queries/clientpositive/global_limit.q +++ b/ql/src/test/queries/clientpositive/global_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.limit.optimize.enable=true; set hive.limit.optimize.limit.file=2; diff --git a/ql/src/test/queries/clientpositive/groupby1.q b/ql/src/test/queries/clientpositive/groupby1.q old mode 100755 new mode 100644 index df69cbd..7a5110c --- a/ql/src/test/queries/clientpositive/groupby1.q +++ b/ql/src/test/queries/clientpositive/groupby1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -9,10 +43,10 @@ CREATE TABLE dest_g1(key INT, value DOUBLE) STORED AS TEXTFILE; set fs.default.name=invalidscheme:///; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest_g1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest_g1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; set fs.default.name=file:///; -FROM src INSERT OVERWRITE TABLE dest_g1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest_g1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest_g1.* FROM dest_g1; diff --git a/ql/src/test/queries/clientpositive/groupby10.q b/ql/src/test/queries/clientpositive/groupby10.q index 5e78831..bfef364 100644 --- a/ql/src/test/queries/clientpositive/groupby10.q +++ b/ql/src/test/queries/clientpositive/groupby10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.multigroupby.singlereducer=false; set hive.groupby.skewindata=true; diff --git a/ql/src/test/queries/clientpositive/groupby11.q b/ql/src/test/queries/clientpositive/groupby11.q index e7bdb53..30dbd3e 100644 --- a/ql/src/test/queries/clientpositive/groupby11.q +++ b/ql/src/test/queries/clientpositive/groupby11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -7,17 +41,17 @@ CREATE TABLE dest1(key STRING, val1 INT, val2 INT) partitioned by (ds string); CREATE TABLE dest2(key STRING, val1 INT, val2 INT) partitioned by (ds string); EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 partition(ds='111') - SELECT src.value, count(src.key), count(distinct src.key) GROUP BY src.value + SELECT `s/c`.value, count(`s/c`.key), count(distinct `s/c`.key) GROUP BY `s/c`.value INSERT OVERWRITE TABLE dest2 partition(ds='111') - SELECT substr(src.value, 5), count(src.key), count(distinct src.key) GROUP BY substr(src.value, 5); + SELECT substr(`s/c`.value, 5), count(`s/c`.key), count(distinct `s/c`.key) GROUP BY substr(`s/c`.value, 5); -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 partition(ds='111') - SELECT src.value, count(src.key), count(distinct src.key) GROUP BY src.value + SELECT `s/c`.value, count(`s/c`.key), count(distinct `s/c`.key) GROUP BY `s/c`.value INSERT OVERWRITE TABLE dest2 partition(ds='111') - SELECT substr(src.value, 5), count(src.key), count(distinct src.key) GROUP BY substr(src.value, 5); + SELECT substr(`s/c`.value, 5), count(`s/c`.key), count(distinct `s/c`.key) GROUP BY substr(`s/c`.value, 5); SELECT * from dest1; SELECT * from dest2; diff --git a/ql/src/test/queries/clientpositive/groupby12.q b/ql/src/test/queries/clientpositive/groupby12.q index 6e9aee1..e577f7d 100644 --- a/ql/src/test/queries/clientpositive/groupby12.q +++ b/ql/src/test/queries/clientpositive/groupby12.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT COUNT(src.key), COUNT(DISTINCT value) GROUP BY src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT COUNT(`s/c`.key), COUNT(DISTINCT value) GROUP BY `s/c`.key; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT COUNT(src.key), COUNT(DISTINCT value) GROUP BY src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT COUNT(`s/c`.key), COUNT(DISTINCT value) GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby13.q b/ql/src/test/queries/clientpositive/groupby13.q index 53feaed..6c0062b 100644 --- a/ql/src/test/queries/clientpositive/groupby13.q +++ b/ql/src/test/queries/clientpositive/groupby13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE grpby_test (int_col_5 INT, int_col_7 INT); diff --git a/ql/src/test/queries/clientpositive/groupby1_limit.q b/ql/src/test/queries/clientpositive/groupby1_limit.q index 48dadd9..6d88e46 100644 --- a/ql/src/test/queries/clientpositive/groupby1_limit.q +++ b/ql/src/test/queries/clientpositive/groupby1_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.reduce.tasks=31; -- SORT_QUERY_RESULTS @@ -5,8 +39,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key LIMIT 5; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key LIMIT 5; -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key ORDER BY src.key LIMIT 5; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key ORDER BY `s/c`.key LIMIT 5; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby1_map.q b/ql/src/test/queries/clientpositive/groupby1_map.q index 46432fb..69eca5f 100644 --- a/ql/src/test/queries/clientpositive/groupby1_map.q +++ b/ql/src/test/queries/clientpositive/groupby1_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,8 +41,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby1_map_nomap.q b/ql/src/test/queries/clientpositive/groupby1_map_nomap.q index b22a61e..15eafb6 100644 --- a/ql/src/test/queries/clientpositive/groupby1_map_nomap.q +++ b/ql/src/test/queries/clientpositive/groupby1_map_nomap.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set hive.groupby.mapaggr.checkinterval=20; @@ -7,8 +41,8 @@ set hive.groupby.mapaggr.checkinterval=20; CREATE TABLE dest1(key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby1_map_skew.q b/ql/src/test/queries/clientpositive/groupby1_map_skew.q index 2ffa995..d6e37eb 100644 --- a/ql/src/test/queries/clientpositive/groupby1_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby1_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -7,8 +41,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM src INSERT OVERWRITE TABLE dest1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby1_noskew.q b/ql/src/test/queries/clientpositive/groupby1_noskew.q index 848bee5..985ca57 100644 --- a/ql/src/test/queries/clientpositive/groupby1_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby1_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,8 +41,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest_g1(key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest_g1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest_g1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM src INSERT OVERWRITE TABLE dest_g1 SELECT src.key, sum(substr(src.value,5)) GROUP BY src.key; +FROM `s/c` INSERT OVERWRITE TABLE dest_g1 SELECT `s/c`.key, sum(substr(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT dest_g1.* FROM dest_g1; diff --git a/ql/src/test/queries/clientpositive/groupby2.q b/ql/src/test/queries/clientpositive/groupby2.q old mode 100755 new mode 100644 index 1966ee7..1903a27 --- a/ql/src/test/queries/clientpositive/groupby2.q +++ b/ql/src/test/queries/clientpositive/groupby2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.map.aggr=false; @@ -6,11 +40,11 @@ set hive.groupby.skewindata=true; CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/groupby2_limit.q b/ql/src/test/queries/clientpositive/groupby2_limit.q index 3049924..8ce5379 100644 --- a/ql/src/test/queries/clientpositive/groupby2_limit.q +++ b/ql/src/test/queries/clientpositive/groupby2_limit.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.reduce.tasks=31; EXPLAIN -SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key ORDER BY src.key LIMIT 5; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) FROM `s/c` GROUP BY `s/c`.key ORDER BY `s/c`.key LIMIT 5; -SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key ORDER BY src.key LIMIT 5; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) FROM `s/c` GROUP BY `s/c`.key ORDER BY `s/c`.key LIMIT 5; diff --git a/ql/src/test/queries/clientpositive/groupby2_map.q b/ql/src/test/queries/clientpositive/groupby2_map.q index 1068800..5f58a5a 100644 --- a/ql/src/test/queries/clientpositive/groupby2_map.q +++ b/ql/src/test/queries/clientpositive/groupby2_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,10 +41,10 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby2_map_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby2_map_multi_distinct.q index ebbb1da..23156ed 100644 --- a/ql/src/test/queries/clientpositive/groupby2_map_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby2_map_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,21 +41,21 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; -- HIVE-5560 when group by key is used in distinct funtion, invalid result are returned EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.key,1,1)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.key,1,1)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.key,1,1)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.key,1,1)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby2_map_skew.q b/ql/src/test/queries/clientpositive/groupby2_map_skew.q index 8640241..db4d468 100644 --- a/ql/src/test/queries/clientpositive/groupby2_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby2_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -5,10 +39,10 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1 order by key; diff --git a/ql/src/test/queries/clientpositive/groupby2_noskew.q b/ql/src/test/queries/clientpositive/groupby2_noskew.q index 2651232..a3945ea 100644 --- a/ql/src/test/queries/clientpositive/groupby2_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby2_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,10 +41,10 @@ set mapred.reduce.tasks=31; CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) GROUP BY substr(`s/c`.key,1,1); SELECT dest_g2.* FROM dest_g2; diff --git a/ql/src/test/queries/clientpositive/groupby2_noskew_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby2_noskew_multi_distinct.q index 7ae15ba..d6a7604 100644 --- a/ql/src/test/queries/clientpositive/groupby2_noskew_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby2_noskew_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,10 +41,10 @@ set mapred.reduce.tasks=31; CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); SELECT dest_g2.* FROM dest_g2; diff --git a/ql/src/test/queries/clientpositive/groupby3.q b/ql/src/test/queries/clientpositive/groupby3.q old mode 100755 new mode 100644 index a9b4039..13b9004 --- a/ql/src/test/queries/clientpositive/groupby3.q +++ b/ql/src/test/queries/clientpositive/groupby3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -5,29 +39,29 @@ set hive.groupby.skewindata=true; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby3_map.q b/ql/src/test/queries/clientpositive/groupby3_map.q index 4d2bf66..5b10f83 100644 --- a/ql/src/test/queries/clientpositive/groupby3_map.q +++ b/ql/src/test/queries/clientpositive/groupby3_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -5,29 +39,29 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); SELECT c1, diff --git a/ql/src/test/queries/clientpositive/groupby3_map_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby3_map_multi_distinct.q index 50243be..0e3b62e 100644 --- a/ql/src/test/queries/clientpositive/groupby3_map_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby3_map_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -5,32 +39,32 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE, c10 DOUBLE, c11 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)), - sum(DISTINCT substr(src.value, 5)), - count(DISTINCT substr(src.value, 5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)), + sum(DISTINCT substr(`s/c`.value, 5)), + count(DISTINCT substr(`s/c`.value, 5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)), - sum(DISTINCT substr(src.value, 5)), - count(DISTINCT substr(src.value, 5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)), + sum(DISTINCT substr(`s/c`.value, 5)), + count(DISTINCT substr(`s/c`.value, 5)); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby3_map_skew.q b/ql/src/test/queries/clientpositive/groupby3_map_skew.q index e700a82..723c872 100644 --- a/ql/src/test/queries/clientpositive/groupby3_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby3_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -5,29 +39,29 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); SELECT ROUND(c1, 1), ROUND(c2, 3), ROUND(c3, 5), ROUND(c4, 1), ROUND(c5, 1), ROUND(c6, 5), ROUND(c7,5), ROUND(c8, 5), ROUND(c9, 5) FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby3_noskew.q b/ql/src/test/queries/clientpositive/groupby3_noskew.q index d33f12c..b818e34 100644 --- a/ql/src/test/queries/clientpositive/groupby3_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby3_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -6,29 +40,29 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby3_noskew_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby3_noskew_multi_distinct.q index 86d8986..16b43f6 100644 --- a/ql/src/test/queries/clientpositive/groupby3_noskew_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby3_noskew_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -6,33 +40,33 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE, c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE, c10 DOUBLE, c11 DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)), - sum(DISTINCT substr(src.value, 5)), - count(DISTINCT substr(src.value, 5)); - -FROM src + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)), + sum(DISTINCT substr(`s/c`.value, 5)), + count(DISTINCT substr(`s/c`.value, 5)); + +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT - sum(substr(src.value,5)), - avg(substr(src.value,5)), - avg(DISTINCT substr(src.value,5)), - max(substr(src.value,5)), - min(substr(src.value,5)), - std(substr(src.value,5)), - stddev_samp(substr(src.value,5)), - variance(substr(src.value,5)), - var_samp(substr(src.value,5)), - sum(DISTINCT substr(src.value, 5)), - count(DISTINCT substr(src.value, 5)); + sum(substr(`s/c`.value,5)), + avg(substr(`s/c`.value,5)), + avg(DISTINCT substr(`s/c`.value,5)), + max(substr(`s/c`.value,5)), + min(substr(`s/c`.value,5)), + std(substr(`s/c`.value,5)), + stddev_samp(substr(`s/c`.value,5)), + variance(substr(`s/c`.value,5)), + var_samp(substr(`s/c`.value,5)), + sum(DISTINCT substr(`s/c`.value, 5)), + count(DISTINCT substr(`s/c`.value, 5)); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby4.q b/ql/src/test/queries/clientpositive/groupby4.q old mode 100755 new mode 100644 index dc37fa8..dacd64f --- a/ql/src/test/queries/clientpositive/groupby4.q +++ b/ql/src/test/queries/clientpositive/groupby4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -6,11 +40,11 @@ set hive.groupby.skewindata=true; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby4_map.q b/ql/src/test/queries/clientpositive/groupby4_map.q index 8ecce23..1722ca7 100644 --- a/ql/src/test/queries/clientpositive/groupby4_map.q +++ b/ql/src/test/queries/clientpositive/groupby4_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -5,8 +39,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(1); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(1); -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(1); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby4_map_skew.q b/ql/src/test/queries/clientpositive/groupby4_map_skew.q index eb2001c..c0e0f38 100644 --- a/ql/src/test/queries/clientpositive/groupby4_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby4_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -5,8 +39,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(1); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(1); -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(1); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby4_noskew.q b/ql/src/test/queries/clientpositive/groupby4_noskew.q index 771f01e..690eac9 100644 --- a/ql/src/test/queries/clientpositive/groupby4_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby4_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -8,11 +42,11 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT substr(src.key,1,1) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT substr(`s/c`.key,1,1) GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby5.q b/ql/src/test/queries/clientpositive/groupby5.q old mode 100755 new mode 100644 index 4ba6b69..b5bde46 --- a/ql/src/test/queries/clientpositive/groupby5.q +++ b/ql/src/test/queries/clientpositive/groupby5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -7,14 +41,14 @@ CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest1 -SELECT src.key, sum(substr(src.value,5)) -FROM src -GROUP BY src.key; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) +FROM `s/c` +GROUP BY `s/c`.key; INSERT OVERWRITE TABLE dest1 -SELECT src.key, sum(substr(src.value,5)) -FROM src -GROUP BY src.key; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) +FROM `s/c` +GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby5_map.q b/ql/src/test/queries/clientpositive/groupby5_map.q index 4fd6445..791cc19 100644 --- a/ql/src/test/queries/clientpositive/groupby5_map.q +++ b/ql/src/test/queries/clientpositive/groupby5_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -5,8 +39,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT sum(src.key); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT sum(`s/c`.key); -FROM src INSERT OVERWRITE TABLE dest1 SELECT sum(src.key); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT sum(`s/c`.key); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby5_map_skew.q b/ql/src/test/queries/clientpositive/groupby5_map_skew.q index eccd45d..13bdd15 100644 --- a/ql/src/test/queries/clientpositive/groupby5_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby5_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -5,8 +39,8 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key INT) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT sum(src.key); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT sum(`s/c`.key); -FROM src INSERT OVERWRITE TABLE dest1 SELECT sum(src.key); +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT sum(`s/c`.key); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby5_noskew.q b/ql/src/test/queries/clientpositive/groupby5_noskew.q index ce51f91..837244b 100644 --- a/ql/src/test/queries/clientpositive/groupby5_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby5_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -9,14 +43,14 @@ CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest1 -SELECT src.key, sum(substr(src.value,5)) -FROM src -GROUP BY src.key; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) +FROM `s/c` +GROUP BY `s/c`.key; INSERT OVERWRITE TABLE dest1 -SELECT src.key, sum(substr(src.value,5)) -FROM src -GROUP BY src.key; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) +FROM `s/c` +GROUP BY `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby6.q b/ql/src/test/queries/clientpositive/groupby6.q old mode 100755 new mode 100644 index 17597cb..333ec11 --- a/ql/src/test/queries/clientpositive/groupby6.q +++ b/ql/src/test/queries/clientpositive/groupby6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -6,11 +40,11 @@ set hive.groupby.skewindata=true; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby6_map.q b/ql/src/test/queries/clientpositive/groupby6_map.q index 61b0a11..898bd21 100644 --- a/ql/src/test/queries/clientpositive/groupby6_map.q +++ b/ql/src/test/queries/clientpositive/groupby6_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,11 +41,11 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby6_map_skew.q b/ql/src/test/queries/clientpositive/groupby6_map_skew.q index 8780bbb..888cb62 100644 --- a/ql/src/test/queries/clientpositive/groupby6_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby6_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -7,11 +41,11 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby6_noskew.q b/ql/src/test/queries/clientpositive/groupby6_noskew.q index 12fd16a..2a69ba6 100644 --- a/ql/src/test/queries/clientpositive/groupby6_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby6_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -8,11 +42,11 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); -FROM src -INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(src.value,5,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT DISTINCT substr(`s/c`.value,5,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby7.q b/ql/src/test/queries/clientpositive/groupby7.q index 2993f99..83403e6 100644 --- a/ql/src/test/queries/clientpositive/groupby7.q +++ b/ql/src/test/queries/clientpositive/groupby7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -9,9 +43,9 @@ CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby7_map.q b/ql/src/test/queries/clientpositive/groupby7_map.q index 7b32ef7..7cee57c 100644 --- a/ql/src/test/queries/clientpositive/groupby7_map.q +++ b/ql/src/test/queries/clientpositive/groupby7_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.multigroupby.singlereducer=false; set hive.groupby.skewindata=false; @@ -12,13 +46,13 @@ SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby7_map_multi_single_reducer.q b/ql/src/test/queries/clientpositive/groupby7_map_multi_single_reducer.q index d54039b..a0ec28f 100644 --- a/ql/src/test/queries/clientpositive/groupby7_map_multi_single_reducer.q +++ b/ql/src/test/queries/clientpositive/groupby7_map_multi_single_reducer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -11,13 +45,13 @@ SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby7_map_skew.q b/ql/src/test/queries/clientpositive/groupby7_map_skew.q index 6e9bc2e..2883bf9 100644 --- a/ql/src/test/queries/clientpositive/groupby7_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby7_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -11,13 +45,13 @@ SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby7_noskew.q b/ql/src/test/queries/clientpositive/groupby7_noskew.q index 03214f8..691f018 100644 --- a/ql/src/test/queries/clientpositive/groupby7_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby7_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.multigroupby.singlereducer=false; set hive.groupby.skewindata=false; @@ -12,13 +46,13 @@ SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q b/ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q index aa5773a..a275d3b 100644 --- a/ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q +++ b/ql/src/test/queries/clientpositive/groupby7_noskew_multi_single_reducer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -11,13 +45,13 @@ SET hive.exec.compress.intermediate=true; SET hive.exec.compress.output=true; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key ORDER BY SRC.key limit 10 -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key ORDER BY SRC.key limit 10; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key ORDER BY `s/c`.key limit 10 +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key ORDER BY `s/c`.key limit 10; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key ORDER BY SRC.key limit 10 -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, sum(SUBSTR(SRC.value,5)) GROUP BY SRC.key ORDER BY SRC.key limit 10; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key ORDER BY `s/c`.key limit 10 +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, sum(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key ORDER BY `s/c`.key limit 10; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby8.q b/ql/src/test/queries/clientpositive/groupby8.q index e73607f..f7f4bd4 100644 --- a/ql/src/test/queries/clientpositive/groupby8.q +++ b/ql/src/test/queries/clientpositive/groupby8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=true; @@ -7,13 +41,13 @@ CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; @@ -21,13 +55,13 @@ SELECT DEST2.* FROM DEST2; set hive.multigroupby.singlereducer=false; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby8_map.q b/ql/src/test/queries/clientpositive/groupby8_map.q index ad537e1..6b305e3 100644 --- a/ql/src/test/queries/clientpositive/groupby8_map.q +++ b/ql/src/test/queries/clientpositive/groupby8_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -8,13 +42,13 @@ CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby8_map_skew.q b/ql/src/test/queries/clientpositive/groupby8_map_skew.q index e89ad95..16c5598 100644 --- a/ql/src/test/queries/clientpositive/groupby8_map_skew.q +++ b/ql/src/test/queries/clientpositive/groupby8_map_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; set mapred.reduce.tasks=31; @@ -8,13 +42,13 @@ CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby8_noskew.q b/ql/src/test/queries/clientpositive/groupby8_noskew.q index 61c5337..93520c4 100644 --- a/ql/src/test/queries/clientpositive/groupby8_noskew.q +++ b/ql/src/test/queries/clientpositive/groupby8_noskew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -9,13 +43,13 @@ CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby9.q b/ql/src/test/queries/clientpositive/groupby9.q index f688518..7fcf32f 100644 --- a/ql/src/test/queries/clientpositive/groupby9.q +++ b/ql/src/test/queries/clientpositive/groupby9.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE DEST1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key INT, val1 STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.value, SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.value, `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.value, SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.value, `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; @@ -30,37 +64,37 @@ SELECT DEST2.* FROM DEST2; set hive.multigroupby.singlereducer=false; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(SUBSTR(SRC.value,5)) GROUP BY SRC.key, SRC.value; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key, `s/c`.value; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.value, SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.value, `s/c`.key; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.key -INSERT OVERWRITE TABLE DEST2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) GROUP BY SRC.value, SRC.key; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.key +INSERT OVERWRITE TABLE DEST2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) GROUP BY `s/c`.value, `s/c`.key; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby_bigdata.q b/ql/src/test/queries/clientpositive/groupby_bigdata.q index 2e3eddc..9a29c36 100644 --- a/ql/src/test/queries/clientpositive/groupby_bigdata.q +++ b/ql/src/test/queries/clientpositive/groupby_bigdata.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr.hash.percentmemory = 0.3; set hive.mapred.local.mem = 384; add file ../../data/scripts/dumpdata_script.py; select count(distinct subq.key) from -(FROM src MAP src.key USING 'python dumpdata_script.py' AS key WHERE src.key = 10) subq; +(FROM `s/c` MAP `s/c`.key USING 'python dumpdata_script.py' AS key WHERE `s/c`.key = 10) subq; diff --git a/ql/src/test/queries/clientpositive/groupby_complex_types.q b/ql/src/test/queries/clientpositive/groupby_complex_types.q index 511456d..57aedb3 100644 --- a/ql/src/test/queries/clientpositive/groupby_complex_types.q +++ b/ql/src/test/queries/clientpositive/groupby_complex_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE; @@ -5,15 +39,15 @@ CREATE TABLE DEST2(key MAP, value BIGINT) STORED AS TEXTFILE; CREATE TABLE DEST3(key STRUCT, value BIGINT) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(SRC.key), COUNT(1) GROUP BY ARRAY(SRC.key) -INSERT OVERWRITE TABLE DEST2 SELECT MAP(SRC.key, SRC.value), COUNT(1) GROUP BY MAP(SRC.key, SRC.value) -INSERT OVERWRITE TABLE DEST3 SELECT STRUCT(SRC.key, SRC.value), COUNT(1) GROUP BY STRUCT(SRC.key, SRC.value); - -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(SRC.key), COUNT(1) GROUP BY ARRAY(SRC.key) -INSERT OVERWRITE TABLE DEST2 SELECT MAP(SRC.key, SRC.value), COUNT(1) GROUP BY MAP(SRC.key, SRC.value) -INSERT OVERWRITE TABLE DEST3 SELECT STRUCT(SRC.key, SRC.value), COUNT(1) GROUP BY STRUCT(SRC.key, SRC.value); +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(`s/c`.key), COUNT(1) GROUP BY ARRAY(`s/c`.key) +INSERT OVERWRITE TABLE DEST2 SELECT MAP(`s/c`.key, `s/c`.value), COUNT(1) GROUP BY MAP(`s/c`.key, `s/c`.value) +INSERT OVERWRITE TABLE DEST3 SELECT STRUCT(`s/c`.key, `s/c`.value), COUNT(1) GROUP BY STRUCT(`s/c`.key, `s/c`.value); + +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(`s/c`.key), COUNT(1) GROUP BY ARRAY(`s/c`.key) +INSERT OVERWRITE TABLE DEST2 SELECT MAP(`s/c`.key, `s/c`.value), COUNT(1) GROUP BY MAP(`s/c`.key, `s/c`.value) +INSERT OVERWRITE TABLE DEST3 SELECT STRUCT(`s/c`.key, `s/c`.value), COUNT(1) GROUP BY STRUCT(`s/c`.key, `s/c`.value); SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q b/ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q index 0a1f137..89c38ca 100644 --- a/ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q +++ b/ql/src/test/queries/clientpositive/groupby_complex_types_multi_single_reducer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.multigroupby.singlereducer=true; -- SORT_QUERY_RESULTS @@ -6,13 +40,13 @@ CREATE TABLE DEST1(key ARRAY, value BIGINT) STORED AS TEXTFILE; CREATE TABLE DEST2(key MAP, value BIGINT) STORED AS TEXTFILE; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(SRC.key) as keyarray, COUNT(1) GROUP BY ARRAY(SRC.key) ORDER BY keyarray limit 10 -INSERT OVERWRITE TABLE DEST2 SELECT MAP(SRC.key, SRC.value) as kvmap, COUNT(1) GROUP BY MAP(SRC.key, SRC.value) ORDER BY kvmap limit 10; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(`s/c`.key) as keyarray, COUNT(1) GROUP BY ARRAY(`s/c`.key) ORDER BY keyarray limit 10 +INSERT OVERWRITE TABLE DEST2 SELECT MAP(`s/c`.key, `s/c`.value) as kvmap, COUNT(1) GROUP BY MAP(`s/c`.key, `s/c`.value) ORDER BY kvmap limit 10; -FROM SRC -INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(SRC.key) as keyarray, COUNT(1) GROUP BY ARRAY(SRC.key) ORDER BY keyarray limit 10 -INSERT OVERWRITE TABLE DEST2 SELECT MAP(SRC.key, SRC.value) as kvmap, COUNT(1) GROUP BY MAP(SRC.key, SRC.value) ORDER BY kvmap limit 10; +FROM `s/c` +INSERT OVERWRITE TABLE DEST1 SELECT ARRAY(`s/c`.key) as keyarray, COUNT(1) GROUP BY ARRAY(`s/c`.key) ORDER BY keyarray limit 10 +INSERT OVERWRITE TABLE DEST2 SELECT MAP(`s/c`.key, `s/c`.value) as kvmap, COUNT(1) GROUP BY MAP(`s/c`.key, `s/c`.value) ORDER BY kvmap limit 10; SELECT DEST1.* FROM DEST1; SELECT DEST2.* FROM DEST2; diff --git a/ql/src/test/queries/clientpositive/groupby_cube1.q b/ql/src/test/queries/clientpositive/groupby_cube1.q index 02b41b9..c9c9ef7 100644 --- a/ql/src/test/queries/clientpositive/groupby_cube1.q +++ b/ql/src/test/queries/clientpositive/groupby_cube1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; diff --git a/ql/src/test/queries/clientpositive/groupby_distinct_samekey.q b/ql/src/test/queries/clientpositive/groupby_distinct_samekey.q index 8219a5e..4776c0c 100644 --- a/ql/src/test/queries/clientpositive/groupby_distinct_samekey.q +++ b/ql/src/test/queries/clientpositive/groupby_distinct_samekey.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test covers HIVE-2332 create table t1 (int1 int, int2 int, str1 string, str2 string); @@ -5,7 +39,7 @@ create table t1 (int1 int, int2 int, str1 string, str2 string); set hive.optimize.reducededuplication=false; --disabled RS-dedup for keeping intention of test -insert into table t1 select cast(key as int), cast(key as int), value, value from src where key < 6; +insert into table t1 select cast(key as int), cast(key as int), value, value from `s/c` where key < 6; explain select Q1.int1, sum(distinct Q1.int1) from (select * from t1 order by int1) Q1 group by Q1.int1; explain select int1, sum(distinct int1) from t1 group by int1; diff --git a/ql/src/test/queries/clientpositive/groupby_duplicate_key.q b/ql/src/test/queries/clientpositive/groupby_duplicate_key.q index 7f38efe..6c42915 100644 --- a/ql/src/test/queries/clientpositive/groupby_duplicate_key.q +++ b/ql/src/test/queries/clientpositive/groupby_duplicate_key.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select distinct key, "" as dummy1, "" as dummy2 from src tablesample (10 rows); +select distinct key, "" as dummy1, "" as dummy2 from `s/c` tablesample (10 rows); -select distinct key, "" as dummy1, "" as dummy2 from src tablesample (10 rows); +select distinct key, "" as dummy1, "" as dummy2 from `s/c` tablesample (10 rows); explain create table dummy as -select distinct key, "X" as dummy1, "X" as dummy2 from src tablesample (10 rows); +select distinct key, "X" as dummy1, "X" as dummy2 from `s/c` tablesample (10 rows); create table dummy as -select distinct key, "X" as dummy1, "X" as dummy2 from src tablesample (10 rows); +select distinct key, "X" as dummy1, "X" as dummy2 from `s/c` tablesample (10 rows); select key,dummy1,dummy2 from dummy; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_id1.q b/ql/src/test/queries/clientpositive/groupby_grouping_id1.q index de4a7c3..2e7d94a 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_id1.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_id1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_id2.q b/ql/src/test/queries/clientpositive/groupby_grouping_id2.q index 5c05aad..7c0e884 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_id2.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_id2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key INT, value INT) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/groupby_groupingid.txt' INTO TABLE T1; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets1.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets1.q index 804dfb3..6f518e8 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets1.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/grouping_sets.txt' INTO TABLE T1; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets2.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets2.q index 30f1b42..37183a8 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets2.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.new.job.grouping.set.cardinality=2; CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets3.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets3.q index 7077377..92365b4 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets3.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- In this test, 2 files are loaded into table T1. The data contains rows with the same value of a and b, -- with different number of rows for a and b in each file. Since bucketizedHiveInputFormat is used, -- this tests that the aggregate function stores the partial aggregate state correctly even if an diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets4.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets4.q index 0c15c6a..5c522a7 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets4.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.mapfiles = false; set hive.merge.mapredfiles = false; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets5.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets5.q index d94bd81..b9e7458 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets5.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.mapfiles = false; set hive.merge.mapredfiles = false; -- Set merging to false above to make the explain more readable diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_sets6.q b/ql/src/test/queries/clientpositive/groupby_grouping_sets6.q index 882608b..d4a7cb4 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_sets6.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_sets6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(a STRING, b STRING, c STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/grouping_sets.txt' INTO TABLE T1; diff --git a/ql/src/test/queries/clientpositive/groupby_grouping_window.q b/ql/src/test/queries/clientpositive/groupby_grouping_window.q index b456074..9a8d482 100644 --- a/ql/src/test/queries/clientpositive/groupby_grouping_window.q +++ b/ql/src/test/queries/clientpositive/groupby_grouping_window.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t(category int, live int, comments int); -insert into table t select key, 0, 2 from src tablesample(3 rows); +insert into table t select key, 0, 2 from `s/c` tablesample(3 rows); explain select category, max(live) live, max(comments) comments, rank() OVER (PARTITION BY category ORDER BY comments) rank1 diff --git a/ql/src/test/queries/clientpositive/groupby_map_ppr.q b/ql/src/test/queries/clientpositive/groupby_map_ppr.q index edaf163..6ca1209 100644 --- a/ql/src/test/queries/clientpositive/groupby_map_ppr.q +++ b/ql/src/test/queries/clientpositive/groupby_map_ppr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,16 +41,16 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby_map_ppr_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby_map_ppr_multi_distinct.q index a72f1e3..f8ddb43 100644 --- a/ql/src/test/queries/clientpositive/groupby_map_ppr_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby_map_ppr_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; set mapred.reduce.tasks=31; @@ -7,16 +41,16 @@ set mapred.reduce.tasks=31; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING, C3 INT, c4 INT) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(DISTINCT src.value) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(DISTINCT `s/c`.value) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(DISTINCT src.value) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(DISTINCT `s/c`.value) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby_multi_insert_common_distinct.q b/ql/src/test/queries/clientpositive/groupby_multi_insert_common_distinct.q index c877814..b175975 100644 --- a/ql/src/test/queries/clientpositive/groupby_multi_insert_common_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby_multi_insert_common_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; -- SORT_QUERY_RESULTS @@ -6,11 +40,11 @@ create table dest1(key int, cnt int); create table dest2(key int, cnt int); explain -from src +from `s/c` insert overwrite table dest1 select key, count(distinct value) group by key insert overwrite table dest2 select key+key, count(distinct value) group by key+key; -from src +from `s/c` insert overwrite table dest1 select key, count(distinct value) group by key insert overwrite table dest2 select key+key, count(distinct value) group by key+key; diff --git a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q index 2b799f8..cda09ac 100644 --- a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q +++ b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.multigroupby.singlereducer=true; -- SORT_QUERY_RESULTS @@ -9,34 +43,34 @@ CREATE TABLE dest_h2(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TE CREATE TABLE dest_h3(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g4 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g4 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1); SELECT * FROM dest_g2; SELECT * FROM dest_g3; SELECT * FROM dest_g4; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_h2 SELECT substr(src.key,1,1) as c1, count(DISTINCT substr(src.value,5)) as c2, concat(substr(src.key,1,1),sum(substr(src.value,5))) as c3, sum(substr(src.value, 5)) as c4, count(src.value) as c6 GROUP BY substr(src.key,1,1), substr(src.key,2,1) ORDER BY c1, c2 LIMIT 10 -INSERT OVERWRITE TABLE dest_h3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1), substr(src.key,2,1); - -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g4 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(src.value) GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_h2 SELECT substr(src.key,1,1) as c1, count(DISTINCT substr(src.value,5)) as c2, concat(substr(src.key,1,1),sum(substr(src.value,5))) as c3, sum(substr(src.value, 5)) as c4, count(src.value) as c6 GROUP BY substr(src.key,1,1), substr(src.key,2,1) ORDER BY c1, c2 LIMIT 10 -INSERT OVERWRITE TABLE dest_h3 SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(substr(src.value, 5)), count(src.value) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1), substr(src.key,2,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g4 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_h2 SELECT substr(`s/c`.key,1,1) as c1, count(DISTINCT substr(`s/c`.value,5)) as c2, concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) as c3, sum(substr(`s/c`.value, 5)) as c4, count(`s/c`.value) as c6 GROUP BY substr(`s/c`.key,1,1), substr(`s/c`.key,2,1) ORDER BY c1, c2 LIMIT 10 +INSERT OVERWRITE TABLE dest_h3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1), substr(`s/c`.key,2,1); + +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g4 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(`s/c`.value) GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_h2 SELECT substr(`s/c`.key,1,1) as c1, count(DISTINCT substr(`s/c`.value,5)) as c2, concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) as c3, sum(substr(`s/c`.value, 5)) as c4, count(`s/c`.value) as c6 GROUP BY substr(`s/c`.key,1,1), substr(`s/c`.key,2,1) ORDER BY c1, c2 LIMIT 10 +INSERT OVERWRITE TABLE dest_h3 SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(substr(`s/c`.value, 5)), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1), substr(`s/c`.key,2,1); SELECT * FROM dest_g2; SELECT * FROM dest_g3; diff --git a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer2.q b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer2.q index 3c1b85f..41a2d59 100644 --- a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer2.q +++ b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.multigroupby.singlereducer=true; CREATE TABLE dest_g2(key STRING, c1 INT) STORED AS TEXTFILE; @@ -6,13 +40,13 @@ CREATE TABLE dest_g3(key STRING, c1 INT, c2 INT) STORED AS TEXTFILE; -- SORT_QUERY_RESULTS EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT src.key) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT src.key), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT `s/c`.key) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT `s/c`.key), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1); -FROM src -INSERT OVERWRITE TABLE dest_g2 SELECT substr(src.key,1,1), count(DISTINCT src.key) WHERE substr(src.key,1,1) >= 5 GROUP BY substr(src.key,1,1) -INSERT OVERWRITE TABLE dest_g3 SELECT substr(src.key,1,1), count(DISTINCT src.key), count(src.value) WHERE substr(src.key,1,1) < 5 GROUP BY substr(src.key,1,1); +FROM `s/c` +INSERT OVERWRITE TABLE dest_g2 SELECT substr(`s/c`.key,1,1), count(DISTINCT `s/c`.key) WHERE substr(`s/c`.key,1,1) >= 5 GROUP BY substr(`s/c`.key,1,1) +INSERT OVERWRITE TABLE dest_g3 SELECT substr(`s/c`.key,1,1), count(DISTINCT `s/c`.key), count(`s/c`.value) WHERE substr(`s/c`.key,1,1) < 5 GROUP BY substr(`s/c`.key,1,1); SELECT * FROM dest_g2; SELECT * FROM dest_g3; diff --git a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer3.q b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer3.q index 59a4698..3bff7dd 100644 --- a/ql/src/test/queries/clientpositive/groupby_multi_single_reducer3.q +++ b/ql/src/test/queries/clientpositive/groupby_multi_single_reducer3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-3849 Aliased column in where clause for multi-groupby single reducer cannot be resolved -- SORT_QUERY_RESULTS @@ -6,48 +40,48 @@ create table e1 (key string, count int); create table e2 (key string, count int); explain -from src +from `s/c` insert overwrite table e1 select key, count(*) -where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) +where `s/c`.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) group by key insert overwrite table e2 select key, count(*) -where src.value in ('val_400', 'val_500') AND key in (400, 450) +where `s/c`.value in ('val_400', 'val_500') AND key in (400, 450) group by key; -from src +from `s/c` insert overwrite table e1 select key, count(*) -where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) +where `s/c`.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) group by key insert overwrite table e2 select key, count(*) -where src.value in ('val_400', 'val_500') AND key in (400, 450) +where `s/c`.value in ('val_400', 'val_500') AND key in (400, 450) group by key; select * from e1; select * from e2; explain -from src +from `s/c` insert overwrite table e1 select value, count(*) -where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 200 or `s/c`.key - 100 = 100 or `s/c`.key = 300 AND VALUE IS NOT NULL group by value insert overwrite table e2 select value, count(*) -where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 400 or `s/c`.key - 100 = 500 AND VALUE IS NOT NULL group by value; -from src +from `s/c` insert overwrite table e1 select value, count(*) -where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 200 or `s/c`.key - 100 = 100 or `s/c`.key = 300 AND VALUE IS NOT NULL group by value insert overwrite table e2 select value, count(*) -where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 400 or `s/c`.key - 100 = 500 AND VALUE IS NOT NULL group by value; select * from e1; @@ -56,48 +90,48 @@ select * from e2; set hive.optimize.ppd=false; explain -from src +from `s/c` insert overwrite table e1 select key, count(*) -where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) +where `s/c`.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) group by key insert overwrite table e2 select key, count(*) -where src.value in ('val_400', 'val_500') AND key in (400, 450) +where `s/c`.value in ('val_400', 'val_500') AND key in (400, 450) group by key; -from src +from `s/c` insert overwrite table e1 select key, count(*) -where src.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) +where `s/c`.value in ('val_100', 'val_200', 'val_300') AND key in (100, 150, 200) group by key insert overwrite table e2 select key, count(*) -where src.value in ('val_400', 'val_500') AND key in (400, 450) +where `s/c`.value in ('val_400', 'val_500') AND key in (400, 450) group by key; select * from e1; select * from e2; explain -from src +from `s/c` insert overwrite table e1 select value, count(*) -where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 200 or `s/c`.key - 100 = 100 or `s/c`.key = 300 AND VALUE IS NOT NULL group by value insert overwrite table e2 select value, count(*) -where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 400 or `s/c`.key - 100 = 500 AND VALUE IS NOT NULL group by value; -from src +from `s/c` insert overwrite table e1 select value, count(*) -where src.key + src.key = 200 or src.key - 100 = 100 or src.key = 300 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 200 or `s/c`.key - 100 = 100 or `s/c`.key = 300 AND VALUE IS NOT NULL group by value insert overwrite table e2 select value, count(*) -where src.key + src.key = 400 or src.key - 100 = 500 AND VALUE IS NOT NULL +where `s/c`.key + `s/c`.key = 400 or `s/c`.key - 100 = 500 AND VALUE IS NOT NULL group by value; select * from e1; diff --git a/ql/src/test/queries/clientpositive/groupby_mutli_insert_common_distinct.q b/ql/src/test/queries/clientpositive/groupby_mutli_insert_common_distinct.q index e69de29..16a595b 100644 --- a/ql/src/test/queries/clientpositive/groupby_mutli_insert_common_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby_mutli_insert_common_distinct.q @@ -0,0 +1,34 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/groupby_neg_float.q b/ql/src/test/queries/clientpositive/groupby_neg_float.q index 0e41131..54a75f2 100644 --- a/ql/src/test/queries/clientpositive/groupby_neg_float.q +++ b/ql/src/test/queries/clientpositive/groupby_neg_float.q @@ -1,10 +1,44 @@ -FROM src +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +FROM `s/c` SELECT cast('-30.33' as DOUBLE) GROUP BY cast('-30.33' as DOUBLE) LIMIT 1; -FROM src +FROM `s/c` SELECT '-30.33' GROUP BY '-30.33' LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/groupby_position.q b/ql/src/test/queries/clientpositive/groupby_position.q index 4316d4a..ae93702 100644 --- a/ql/src/test/queries/clientpositive/groupby_position.q +++ b/ql/src/test/queries/clientpositive/groupby_position.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.groupby.orderby.position.alias=true; CREATE TABLE testTable1(key INT, value STRING) STORED AS TEXTFILE; @@ -6,25 +40,25 @@ CREATE TABLE testTable2(key INT, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- Position Alias in GROUP BY and ORDER BY EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE testTable1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1 -INSERT OVERWRITE TABLE testTable2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1, 2; +FROM `s/c` +INSERT OVERWRITE TABLE testTable1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1 +INSERT OVERWRITE TABLE testTable2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1, 2; -FROM SRC -INSERT OVERWRITE TABLE testTable1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1 -INSERT OVERWRITE TABLE testTable2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1, 2; +FROM `s/c` +INSERT OVERWRITE TABLE testTable1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1 +INSERT OVERWRITE TABLE testTable2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1, 2; SELECT key, value FROM testTable1 ORDER BY 1, 2; SELECT key, val1, val2 FROM testTable2 ORDER BY 1, 2, 3; EXPLAIN -FROM SRC -INSERT OVERWRITE TABLE testTable1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1 -INSERT OVERWRITE TABLE testTable2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 2, 1; +FROM `s/c` +INSERT OVERWRITE TABLE testTable1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1 +INSERT OVERWRITE TABLE testTable2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 2, 1; -FROM SRC -INSERT OVERWRITE TABLE testTable1 SELECT SRC.key, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 1 -INSERT OVERWRITE TABLE testTable2 SELECT SRC.key, SRC.value, COUNT(DISTINCT SUBSTR(SRC.value,5)) WHERE SRC.key < 20 GROUP BY 2, 1; +FROM `s/c` +INSERT OVERWRITE TABLE testTable1 SELECT `s/c`.key, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 1 +INSERT OVERWRITE TABLE testTable2 SELECT `s/c`.key, `s/c`.value, COUNT(DISTINCT SUBSTR(`s/c`.value,5)) WHERE `s/c`.key < 20 GROUP BY 2, 1; SELECT key, value FROM testTable1 ORDER BY 1, 2; SELECT key, val1, val2 FROM testTable2 ORDER BY 1, 2, 3; @@ -33,11 +67,11 @@ SELECT key, val1, val2 FROM testTable2 ORDER BY 1, 2, 3; EXPLAIN SELECT t.key, t.value -FROM (SELECT b.key as key, count(1) as value FROM src b WHERE b.key <= 20 GROUP BY 1) t +FROM (SELECT b.key as key, count(1) as value FROM `s/c` b WHERE b.key <= 20 GROUP BY 1) t ORDER BY 2 DESC, 1 ASC; SELECT t.key, t.value -FROM (SELECT b.key as key, count(1) as value FROM src b WHERE b.key <= 20 GROUP BY 1) t +FROM (SELECT b.key as key, count(1) as value FROM `s/c` b WHERE b.key <= 20 GROUP BY 1) t ORDER BY 2 DESC, 1 ASC; EXPLAIN @@ -45,11 +79,11 @@ SELECT c1, c2, c3, c4 FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2, COUNT(DISTINCT SUBSTR(src1.value,5)) AS c3 WHERE src1.key > 10 and src1.key < 20 GROUP BY 1, 2 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2, COUNT(DISTINCT SUBSTR(src1.value,5)) AS c3 WHERE src1.key > 10 and src1.key < 20 GROUP BY 1, 2 ) a JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 GROUP BY 1, 2 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 GROUP BY 1, 2 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -60,11 +94,11 @@ SELECT c1, c2, c3, c4 FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2, COUNT(DISTINCT SUBSTR(src1.value,5)) AS c3 WHERE src1.key > 10 and src1.key < 20 GROUP BY 1, 2 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2, COUNT(DISTINCT SUBSTR(src1.value,5)) AS c3 WHERE src1.key > 10 and src1.key < 20 GROUP BY 1, 2 ) a JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 GROUP BY 1, 2 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 GROUP BY 1, 2 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/groupby_ppd.q b/ql/src/test/queries/clientpositive/groupby_ppd.q index 4cda623..0dff6dc 100644 --- a/ql/src/test/queries/clientpositive/groupby_ppd.q +++ b/ql/src/test/queries/clientpositive/groupby_ppd.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- see HIVE-2382 create table invites (id int, foo int, bar int); explain select * from (select foo, bar from (select bar, foo from invites c union all select bar, foo from invites d) b) a group by bar, foo having bar=1; diff --git a/ql/src/test/queries/clientpositive/groupby_ppr.q b/ql/src/test/queries/clientpositive/groupby_ppr.q index 2d55760..743362f 100644 --- a/ql/src/test/queries/clientpositive/groupby_ppr.q +++ b/ql/src/test/queries/clientpositive/groupby_ppr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -6,16 +40,16 @@ set hive.groupby.skewindata=false; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby_ppr_multi_distinct.q b/ql/src/test/queries/clientpositive/groupby_ppr_multi_distinct.q index 1249853..7f3b9b2 100644 --- a/ql/src/test/queries/clientpositive/groupby_ppr_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/groupby_ppr_multi_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; @@ -6,16 +40,16 @@ set hive.groupby.skewindata=false; CREATE TABLE dest1(key STRING, c1 INT, c2 STRING, c3 INT, c4 INT) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(DISTINCT src.value) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(DISTINCT `s/c`.value) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); -FROM srcpart src +FROM `s/cpart` `s/c` INSERT OVERWRITE TABLE dest1 -SELECT substr(src.key,1,1), count(DISTINCT substr(src.value,5)), concat(substr(src.key,1,1),sum(substr(src.value,5))), sum(DISTINCT substr(src.value, 5)), count(DISTINCT src.value) -WHERE src.ds = '2008-04-08' -GROUP BY substr(src.key,1,1); +SELECT substr(`s/c`.key,1,1), count(DISTINCT substr(`s/c`.value,5)), concat(substr(`s/c`.key,1,1),sum(substr(`s/c`.value,5))), sum(DISTINCT substr(`s/c`.value, 5)), count(DISTINCT `s/c`.value) +WHERE `s/c`.ds = '2008-04-08' +GROUP BY substr(`s/c`.key,1,1); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/groupby_resolution.q b/ql/src/test/queries/clientpositive/groupby_resolution.q index 663e33b..5cd22a2 100644 --- a/ql/src/test/queries/clientpositive/groupby_resolution.q +++ b/ql/src/test/queries/clientpositive/groupby_resolution.q @@ -1,42 +1,76 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=false; set hive.groupby.skewindata=false; -explain select key, count(*) from src b group by b.key; -explain select b.key, count(*) from src b group by key; +explain select key, count(*) from `s/c` b group by b.key; +explain select b.key, count(*) from `s/c` b group by key; set hive.map.aggr=false; set hive.groupby.skewindata=true; -explain select key, count(*) from src b group by b.key; -explain select b.key, count(*) from src b group by key; +explain select key, count(*) from `s/c` b group by b.key; +explain select b.key, count(*) from `s/c` b group by key; set hive.map.aggr=true; set hive.groupby.skewindata=false; -explain select key, count(*) from src b group by b.key; -explain select b.key, count(*) from src b group by key; +explain select key, count(*) from `s/c` b group by b.key; +explain select b.key, count(*) from `s/c` b group by key; set hive.map.aggr=true; set hive.groupby.skewindata=true; -explain select key, count(*) from src b group by b.key; -explain select b.key, count(*) from src b group by key; +explain select key, count(*) from `s/c` b group by b.key; +explain select b.key, count(*) from `s/c` b group by key; -- windowing after group by select key, count(*), rank() over(order by count(*)) -from src b +from `s/c` b where key < '12' group by b.key order by b.key; -- having after group by select key, count(*) -from src b +from `s/c` b group by b.key having key < '12' order by b.key; -- having and windowing select key, count(*), rank() over(order by count(*)) -from src b +from `s/c` b group by b.key having key < '12' order by b.key @@ -44,18 +78,18 @@ order by b.key explain select key, count(*), rank() over(order by count(*)) -from src b +from `s/c` b group by b.key having key < '12' ; -- order by select key -from src t +from `s/c` t where key < '12' group by t.key order by t.key; -- cluster by EXPLAIN -SELECT x.key, x.value as key FROM SRC x CLUSTER BY key; +SELECT x.key, x.value as key FROM `s/c` x CLUSTER BY key; diff --git a/ql/src/test/queries/clientpositive/groupby_rollup1.q b/ql/src/test/queries/clientpositive/groupby_rollup1.q index 53de6cc..ac4c310 100644 --- a/ql/src/test/queries/clientpositive/groupby_rollup1.q +++ b/ql/src/test/queries/clientpositive/groupby_rollup1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_1.q b/ql/src/test/queries/clientpositive/groupby_sort_1.q index ed888bb..dfc0d7e 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_1.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_10.q b/ql/src/test/queries/clientpositive/groupby_sort_10.q index b3ddd42..a54e37b 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_10.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; @@ -8,7 +42,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -- perform an insert to make sure there are 2 files INSERT OVERWRITE TABLE T1 PARTITION (ds='1') -SELECT * from src where key = 0 or key = 11; +SELECT * from `s/c` where key = 0 or key = 11; -- The plan is converted to a map-side plan EXPLAIN select distinct key from T1; @@ -16,7 +50,7 @@ select distinct key from T1; -- perform an insert to make sure there are 2 files INSERT OVERWRITE TABLE T1 PARTITION (ds='2') -SELECT * from src where key = 0 or key = 11; +SELECT * from `s/c` where key = 0 or key = 11; -- The plan is not converted to a map-side, since although the sorting columns and grouping -- columns match, the user is querying multiple input partitions diff --git a/ql/src/test/queries/clientpositive/groupby_sort_11.q b/ql/src/test/queries/clientpositive/groupby_sort_11.q index 19063f6..e620175 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_11.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -8,7 +42,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -- perform an insert to make sure there are 2 files INSERT OVERWRITE TABLE T1 PARTITION (ds='1') -SELECT * from src where key < 10; +SELECT * from `s/c` where key < 10; -- The plan is optimized to perform partial aggregation on the mapper EXPLAIN select count(distinct key) from T1; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_1_23.q b/ql/src/test/queries/clientpositive/groupby_sort_1_23.q index a6e18c7..ce9625f 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_1_23.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_1_23.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_2.q b/ql/src/test/queries/clientpositive/groupby_sort_2.q index 1574048..a2e2c12 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_2.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_3.q b/ql/src/test/queries/clientpositive/groupby_sort_3.q index b835f95..ab8e000 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_3.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_4.q b/ql/src/test/queries/clientpositive/groupby_sort_4.q index a61c551..e6499c4 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_4.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_5.q b/ql/src/test/queries/clientpositive/groupby_sort_5.q index 0d4ba42..9ad3fe7 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_5.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_6.q b/ql/src/test/queries/clientpositive/groupby_sort_6.q index 752b927..baa0f5e 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_6.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_7.q b/ql/src/test/queries/clientpositive/groupby_sort_7.q index 3e3ba7a..14f44e2 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_7.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_8.q b/ql/src/test/queries/clientpositive/groupby_sort_8.q index f53295e..cb0066d 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_8.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_9.q b/ql/src/test/queries/clientpositive/groupby_sort_9.q index 296336d..732fdbd 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_9.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_skew_1.q b/ql/src/test/queries/clientpositive/groupby_sort_skew_1.q index 76a1725..47a9b0b 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_skew_1.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_skew_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_skew_1_23.q b/ql/src/test/queries/clientpositive/groupby_sort_skew_1_23.q index 1b24aec..9354e61 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_skew_1_23.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_skew_1_23.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/groupby_sort_test_1.q b/ql/src/test/queries/clientpositive/groupby_sort_test_1.q index 4ec138e..d6c8bfc 100644 --- a/ql/src/test/queries/clientpositive/groupby_sort_test_1.q +++ b/ql/src/test/queries/clientpositive/groupby_sort_test_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 10; diff --git a/ql/src/test/queries/clientpositive/having.q b/ql/src/test/queries/clientpositive/having.q index fdba5cd..a36a41e 100644 --- a/ql/src/test/queries/clientpositive/having.q +++ b/ql/src/test/queries/clientpositive/having.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS -EXPLAIN SELECT count(value) AS c FROM src GROUP BY key HAVING c > 3; -SELECT count(value) AS c FROM src GROUP BY key HAVING c > 3; +EXPLAIN SELECT count(value) AS c FROM `s/c` GROUP BY key HAVING c > 3; +SELECT count(value) AS c FROM `s/c` GROUP BY key HAVING c > 3; -EXPLAIN SELECT key, max(value) AS c FROM src GROUP BY key HAVING key != 302; -SELECT key, max(value) AS c FROM src GROUP BY key HAVING key != 302; +EXPLAIN SELECT key, max(value) AS c FROM `s/c` GROUP BY key HAVING key != 302; +SELECT key, max(value) AS c FROM `s/c` GROUP BY key HAVING key != 302; -EXPLAIN SELECT key FROM src GROUP BY key HAVING max(value) > "val_255"; -SELECT key FROM src GROUP BY key HAVING max(value) > "val_255"; +EXPLAIN SELECT key FROM `s/c` GROUP BY key HAVING max(value) > "val_255"; +SELECT key FROM `s/c` GROUP BY key HAVING max(value) > "val_255"; -EXPLAIN SELECT key FROM src where key > 300 GROUP BY key HAVING max(value) > "val_255"; -SELECT key FROM src where key > 300 GROUP BY key HAVING max(value) > "val_255"; +EXPLAIN SELECT key FROM `s/c` where key > 300 GROUP BY key HAVING max(value) > "val_255"; +SELECT key FROM `s/c` where key > 300 GROUP BY key HAVING max(value) > "val_255"; -EXPLAIN SELECT key, max(value) FROM src GROUP BY key HAVING max(value) > "val_255"; -SELECT key, max(value) FROM src GROUP BY key HAVING max(value) > "val_255"; +EXPLAIN SELECT key, max(value) FROM `s/c` GROUP BY key HAVING max(value) > "val_255"; +SELECT key, max(value) FROM `s/c` GROUP BY key HAVING max(value) > "val_255"; -EXPLAIN SELECT key, COUNT(value) FROM src GROUP BY key HAVING count(value) >= 4; -SELECT key, COUNT(value) FROM src GROUP BY key HAVING count(value) >= 4; \ No newline at end of file +EXPLAIN SELECT key, COUNT(value) FROM `s/c` GROUP BY key HAVING count(value) >= 4; +SELECT key, COUNT(value) FROM `s/c` GROUP BY key HAVING count(value) >= 4; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/having2.q b/ql/src/test/queries/clientpositive/having2.q index 83ae1e1..1720aac 100644 --- a/ql/src/test/queries/clientpositive/having2.q +++ b/ql/src/test/queries/clientpositive/having2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TestV1_Staples ( Item_Count INT, @@ -65,7 +99,7 @@ AND (COUNT(s1.discount) <= 822) ); explain -SELECT s1.customer_name FROM default.testv1_staples s1 join default.src s2 on s1.customer_name = s2.key +SELECT s1.customer_name FROM default.testv1_staples s1 join default.`s/c` s2 on s1.customer_name = s2.key GROUP BY s1.customer_name HAVING ( (SUM(s1.customer_balance) <= 4074689.000000041) @@ -74,7 +108,7 @@ AND (COUNT(s2.value) > 4) ); explain -SELECT s1.customer_name FROM default.testv1_staples s1 join default.src s2 on s1.customer_name = s2.key +SELECT s1.customer_name FROM default.testv1_staples s1 join default.`s/c` s2 on s1.customer_name = s2.key GROUP BY s1.customer_name, s1.customer_name HAVING ( (SUM(s1.customer_balance) <= 4074689.000000041) @@ -84,7 +118,7 @@ AND (COUNT(s2.value) > 4) explain SELECT distinct s1.customer_name as x, s1.customer_name as y -FROM default.testv1_staples s1 join default.src s2 on s1.customer_name = s2.key +FROM default.testv1_staples s1 join default.`s/c` s2 on s1.customer_name = s2.key HAVING ( (SUM(s1.customer_balance) <= 4074689.000000041) AND (AVG(s1.discount) <= 822) diff --git a/ql/src/test/queries/clientpositive/hook_context_cs.q b/ql/src/test/queries/clientpositive/hook_context_cs.q index 94ba148..87e42dd 100644 --- a/ql/src/test/queries/clientpositive/hook_context_cs.q +++ b/ql/src/test/queries/clientpositive/hook_context_cs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table vcsc; CREATE TABLE vcsc (c STRING) PARTITIONED BY (ds STRING); ALTER TABLE vcsc ADD partition (ds='dummy') location '${system:test.tmp.dir}/VerifyContentSummaryCacheHook'; diff --git a/ql/src/test/queries/clientpositive/hook_order.q b/ql/src/test/queries/clientpositive/hook_order.q index b6753b3..989c536 100644 --- a/ql/src/test/queries/clientpositive/hook_order.q +++ b/ql/src/test/queries/clientpositive/hook_order.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.pre.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirst,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecond; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirst,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecond; SET hive.semantic.analyzer.hook=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirstSemanticAnalysisHook,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecondSemanticAnalysisHook; SET hive.exec.driver.run.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunFirstDriverRunHook,org.apache.hadoop.hive.ql.hooks.VerifyHooksRunInOrder$RunSecondDriverRunHook; -SELECT count(*) FROM src; +SELECT count(*) FROM `s/c`; SET hive.exec.pre.hooks=; SET hive.exec.post.hooks=; diff --git a/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_1.q b/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_1.q index f98dfa9..7cd67af 100644 --- a/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_1.q +++ b/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- Hybrid Grace Hash Join -- Test basic functionalities: @@ -135,7 +169,7 @@ select count(*) from -- Partitioned table create table parttbl (key string, value char(20)) partitioned by (dt char(10)); insert overwrite table parttbl partition(dt='2000-01-01') - select * from src; + select * from `s/c`; insert overwrite table parttbl partition(dt='2000-01-02') select * from src1; diff --git a/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_2.q b/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_2.q index d6a5250..75364fd 100644 --- a/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_2.q +++ b/ql/src/test/queries/clientpositive/hybridgrace_hashjoin_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- Hybrid Grace Hash Join -- Test n-way join @@ -16,23 +50,23 @@ set hive.mapjoin.hybridgrace.hashtable=false; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key); set hive.mapjoin.hybridgrace.hashtable=true; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key); -- 4-way mapjoin (1 big table, 3 small tables) @@ -42,27 +76,27 @@ set hive.mapjoin.hybridgrace.hashtable=false; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN srcpart w ON (x.key = w.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/cpart` w ON (x.key = w.key) +JOIN `s/c` y ON (y.key = x.key); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN srcpart w ON (x.key = w.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/cpart` w ON (x.key = w.key) +JOIN `s/c` y ON (y.key = x.key); set hive.mapjoin.hybridgrace.hashtable=true; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN srcpart w ON (x.key = w.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/cpart` w ON (x.key = w.key) +JOIN `s/c` y ON (y.key = x.key); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN srcpart w ON (x.key = w.key) -JOIN src y ON (y.key = x.key); +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/cpart` w ON (x.key = w.key) +JOIN `s/c` y ON (y.key = x.key); -- 2 sets of 3-way mapjoin under 2 different tasks @@ -72,39 +106,39 @@ set hive.mapjoin.hybridgrace.hashtable=false; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key) +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key) UNION SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.value = z.value) -JOIN src y ON (y.value = x.value); +FROM src1 x JOIN `s/cpart` z ON (x.value = z.value) +JOIN `s/c` y ON (y.value = x.value); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key) +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key) UNION SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.value = z.value) -JOIN src y ON (y.value = x.value); +FROM src1 x JOIN `s/cpart` z ON (x.value = z.value) +JOIN `s/c` y ON (y.value = x.value); set hive.mapjoin.hybridgrace.hashtable=true; EXPLAIN SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key) +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key) UNION SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.value = z.value) -JOIN src y ON (y.value = x.value); +FROM src1 x JOIN `s/cpart` z ON (x.value = z.value) +JOIN `s/c` y ON (y.value = x.value); SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.key = z.key) -JOIN src y ON (y.key = x.key) +FROM src1 x JOIN `s/cpart` z ON (x.key = z.key) +JOIN `s/c` y ON (y.key = x.key) UNION SELECT COUNT(*) -FROM src1 x JOIN srcpart z ON (x.value = z.value) -JOIN src y ON (y.value = x.value); +FROM src1 x JOIN `s/cpart` z ON (x.value = z.value) +JOIN `s/c` y ON (y.value = x.value); -- A chain of 2 sets of 3-way mapjoin under the same task @@ -115,19 +149,19 @@ set hive.mapjoin.hybridgrace.hashtable=false; EXPLAIN SELECT COUNT(*) FROM src1 x -JOIN srcpart z1 ON (x.key = z1.key) -JOIN src y1 ON (x.key = y1.key) -JOIN srcpart z2 ON (x.value = z2.value) -JOIN src y2 ON (x.value = y2.value) +JOIN `s/cpart` z1 ON (x.key = z1.key) +JOIN `s/c` y1 ON (x.key = y1.key) +JOIN `s/cpart` z2 ON (x.value = z2.value) +JOIN `s/c` y2 ON (x.value = y2.value) WHERE z1.key < 'zzzzzzzz' AND z2.key < 'zzzzzzzzzz' AND y1.value < 'zzzzzzzz' AND y2.value < 'zzzzzzzzzz'; SELECT COUNT(*) FROM src1 x -JOIN srcpart z1 ON (x.key = z1.key) -JOIN src y1 ON (x.key = y1.key) -JOIN srcpart z2 ON (x.value = z2.value) -JOIN src y2 ON (x.value = y2.value) +JOIN `s/cpart` z1 ON (x.key = z1.key) +JOIN `s/c` y1 ON (x.key = y1.key) +JOIN `s/cpart` z2 ON (x.value = z2.value) +JOIN `s/c` y2 ON (x.value = y2.value) WHERE z1.key < 'zzzzzzzz' AND z2.key < 'zzzzzzzzzz' AND y1.value < 'zzzzzzzz' AND y2.value < 'zzzzzzzzzz'; @@ -136,19 +170,19 @@ set hive.mapjoin.hybridgrace.hashtable=true; EXPLAIN SELECT COUNT(*) FROM src1 x -JOIN srcpart z1 ON (x.key = z1.key) -JOIN src y1 ON (x.key = y1.key) -JOIN srcpart z2 ON (x.value = z2.value) -JOIN src y2 ON (x.value = y2.value) +JOIN `s/cpart` z1 ON (x.key = z1.key) +JOIN `s/c` y1 ON (x.key = y1.key) +JOIN `s/cpart` z2 ON (x.value = z2.value) +JOIN `s/c` y2 ON (x.value = y2.value) WHERE z1.key < 'zzzzzzzz' AND z2.key < 'zzzzzzzzzz' AND y1.value < 'zzzzzzzz' AND y2.value < 'zzzzzzzzzz'; SELECT COUNT(*) FROM src1 x -JOIN srcpart z1 ON (x.key = z1.key) -JOIN src y1 ON (x.key = y1.key) -JOIN srcpart z2 ON (x.value = z2.value) -JOIN src y2 ON (x.value = y2.value) +JOIN `s/cpart` z1 ON (x.key = z1.key) +JOIN `s/c` y1 ON (x.key = y1.key) +JOIN `s/cpart` z2 ON (x.value = z2.value) +JOIN `s/c` y2 ON (x.value = y2.value) WHERE z1.key < 'zzzzzzzz' AND z2.key < 'zzzzzzzzzz' AND y1.value < 'zzzzzzzz' AND y2.value < 'zzzzzzzzzz'; diff --git a/ql/src/test/queries/clientpositive/identity_project_remove_skip.q b/ql/src/test/queries/clientpositive/identity_project_remove_skip.q index 472f20a..b6a23af 100644 --- a/ql/src/test/queries/clientpositive/identity_project_remove_skip.q +++ b/ql/src/test/queries/clientpositive/identity_project_remove_skip.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.remove.identity.project=true; set hive.auto.convert.join=true; set hive.optimize.ppd=true; @@ -5,16 +39,16 @@ set hive.optimize.ppd=true; explain select t2.* from - (select key,value from (select key,value from src) t1 sort by key) t2 + (select key,value from (select key,value from `s/c`) t1 sort by key) t2 join - (select * from src sort by key) t3 + (select * from `s/c` sort by key) t3 on (t2.key=t3.key ) where t2.value='val_105' and t3.key='105'; select t2.* from - (select key,value from (select key,value from src) t1 sort by key) t2 + (select key,value from (select key,value from `s/c`) t1 sort by key) t2 join - (select * from src sort by key) t3 + (select * from `s/c` sort by key) t3 on (t2.key=t3.key ) where t2.value='val_105' and t3.key='105'; diff --git a/ql/src/test/queries/clientpositive/implicit_cast1.q b/ql/src/test/queries/clientpositive/implicit_cast1.q index 37fb856..f8ede9c 100644 --- a/ql/src/test/queries/clientpositive/implicit_cast1.q +++ b/ql/src/test/queries/clientpositive/implicit_cast1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE implicit_test1(a BIGINT, b STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe' WITH SERDEPROPERTIES('serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol') STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/implicit_cast_during_insert.q b/ql/src/test/queries/clientpositive/implicit_cast_during_insert.q index 6253a30..2125130 100644 --- a/ql/src/test/queries/clientpositive/implicit_cast_during_insert.q +++ b/ql/src/test/queries/clientpositive/implicit_cast_during_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table implicit_cast_during_insert (c1 int, c2 string) partitioned by (p1 string) stored as orc; @@ -5,11 +39,11 @@ set hive.exec.dynamic.partition.mode=nonstrict; explain insert overwrite table implicit_cast_during_insert partition (p1) - select key, value, key key1 from (select * from src where key in (0,1)) q + select key, value, key key1 from (select * from `s/c` where key in (0,1)) q distribute by key1 sort by key1; insert overwrite table implicit_cast_during_insert partition (p1) - select key, value, key key1 from (select * from src where key in (0,1)) q + select key, value, key key1 from (select * from `s/c` where key in (0,1)) q distribute by key1 sort by key1; select * from implicit_cast_during_insert; diff --git a/ql/src/test/queries/clientpositive/import_exported_table.q b/ql/src/test/queries/clientpositive/import_exported_table.q index cb147c5..bb45ebf 100644 --- a/ql/src/test/queries/clientpositive/import_exported_table.q +++ b/ql/src/test/queries/clientpositive/import_exported_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/test_import_exported_table/; dfs ${system:test.dfs.mkdir} hdfs:///tmp/test_import_exported_table/exported_table/; dfs ${system:test.dfs.mkdir} hdfs:///tmp/test_import_exported_table/exported_table/data/; diff --git a/ql/src/test/queries/clientpositive/index_auth.q b/ql/src/test/queries/clientpositive/index_auth.q index 03d77f1..bc8a667 100644 --- a/ql/src/test/queries/clientpositive/index_auth.q +++ b/ql/src/test/queries/clientpositive/index_auth.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; create table foobar(key int, value string) PARTITIONED BY (ds string, hr string); diff --git a/ql/src/test/queries/clientpositive/index_auto.q b/ql/src/test/queries/clientpositive/index_auto.q index e62d114..ff091d5 100644 --- a/ql/src/test/queries/clientpositive/index_auto.q +++ b/ql/src/test/queries/clientpositive/index_auto.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- try the query without indexing, with manual indexing, and with automatic indexing -- SORT_QUERY_RESULTS -- without indexing -SELECT key, value FROM src WHERE key > 80 AND key < 100; +SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; set hive.stats.dbclass=fs; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -16,15 +50,15 @@ SET hive.index.compact.file=${system:test.tmp.dir}/index_where; SET hive.optimize.index.filter=false; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; -SELECT key, value FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; +SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; -SELECT key, value FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; +SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_empty.q b/ql/src/test/queries/clientpositive/index_auto_empty.q index 12c6681..5f37f51 100644 --- a/ql/src/test/queries/clientpositive/index_auto_empty.q +++ b/ql/src/test/queries/clientpositive/index_auto_empty.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test to ensure that an empty index result is propagated correctly CREATE DATABASE it; --- Create temp, and populate it with some values in src. +-- Create temp, and populate it with some values in `s/c`. CREATE TABLE it.temp(key STRING, val STRING) STORED AS TEXTFILE; set hive.stats.dbclass=fs; diff --git a/ql/src/test/queries/clientpositive/index_auto_file_format.q b/ql/src/test/queries/clientpositive/index_auto_file_format.q index f62fd63..bc96170 100644 --- a/ql/src/test/queries/clientpositive/index_auto_file_format.q +++ b/ql/src/test/queries/clientpositive/index_auto_file_format.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -- test automatic use of index on different file formats -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86; -SELECT key, value FROM src WHERE key=86; +EXPLAIN SELECT key, value FROM `s/c` WHERE key=86; +SELECT key, value FROM `s/c` WHERE key=86; SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86; -SELECT key, value FROM src WHERE key=86; +EXPLAIN SELECT key, value FROM `s/c` WHERE key=86; +SELECT key, value FROM `s/c` WHERE key=86; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_mult_tables.q b/ql/src/test/queries/clientpositive/index_auto_mult_tables.q index 65098ea..fbab8bb 100644 --- a/ql/src/test/queries/clientpositive/index_auto_mult_tables.q +++ b/ql/src/test/queries/clientpositive/index_auto_mult_tables.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; set hive.stats.dbclass=fs; -CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; -CREATE INDEX srcpart_index ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index ON srcpart REBUILD; +CREATE INDEX srcpart_index ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index ON `s/cpart` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -DROP INDEX src_index on src; -DROP INDEX srcpart_index on src; +DROP INDEX src_index on `s/c`; +DROP INDEX srcpart_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q b/ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q index e673721..bc06337 100644 --- a/ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q +++ b/ql/src/test/queries/clientpositive/index_auto_mult_tables_compact.q @@ -1,25 +1,59 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; set hive.stats.dbclass=fs; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; -CREATE INDEX srcpart_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index ON srcpart REBUILD; +CREATE INDEX srcpart_index ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index ON `s/cpart` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, a.value FROM `s/c` a JOIN `s/cpart` b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -DROP INDEX src_index on src; -DROP INDEX srcpart_index on src; +DROP INDEX src_index on `s/c`; +DROP INDEX srcpart_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_multiple.q b/ql/src/test/queries/clientpositive/index_auto_multiple.q index 36ab425..dd25855 100644 --- a/ql/src/test/queries/clientpositive/index_auto_multiple.q +++ b/ql/src/test/queries/clientpositive/index_auto_multiple.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -- With multiple indexes, make sure we choose which to use in a consistent order -CREATE INDEX src_key_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -CREATE INDEX src_val_index ON TABLE src(value) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_key_index ON src REBUILD; -ALTER INDEX src_val_index ON src REBUILD; +CREATE INDEX src_key_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +CREATE INDEX src_val_index ON TABLE `s/c`(value) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_key_index ON `s/c` REBUILD; +ALTER INDEX src_val_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM src WHERE key=86; -SELECT key, value FROM src WHERE key=86; +EXPLAIN SELECT key, value FROM `s/c` WHERE key=86; +SELECT key, value FROM `s/c` WHERE key=86; -DROP INDEX src_key_index ON src; -DROP INDEX src_val_index ON src; +DROP INDEX src_key_index ON `s/c`; +DROP INDEX src_val_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_partitioned.q b/ql/src/test/queries/clientpositive/index_auto_partitioned.q index f9f9a1b..189bd02 100644 --- a/ql/src/test/queries/clientpositive/index_auto_partitioned.q +++ b/ql/src/test/queries/clientpositive/index_auto_partitioned.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.fetch.task.conversion=none; -- SORT_QUERY_RESULTS -- test automatic use of index on table with partitions -CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_part_index ON srcpart REBUILD; +CREATE INDEX src_part_index ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_part_index ON `s/cpart` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; -SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; +EXPLAIN SELECT key, value FROM `s/cpart` WHERE key=86 AND ds='2008-04-09'; +SELECT key, value FROM `s/cpart` WHERE key=86 AND ds='2008-04-09'; -DROP INDEX src_part_index ON srcpart; +DROP INDEX src_part_index ON `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/index_auto_self_join.q b/ql/src/test/queries/clientpositive/index_auto_self_join.q index 72c6f61..b420262 100644 --- a/ql/src/test/queries/clientpositive/index_auto_self_join.q +++ b/ql/src/test/queries/clientpositive/index_auto_self_join.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- try the query without indexing, with manual indexing, and with automatic indexing -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, b.key FROM `s/c` a JOIN `s/c` b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, b.key FROM `s/c` a JOIN `s/c` b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; set hive.stats.dbclass=fs; -CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +EXPLAIN SELECT a.key, b.key FROM `s/c` a JOIN `s/c` b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; +SELECT a.key, b.key FROM `s/c` a JOIN `s/c` b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_auto_unused.q b/ql/src/test/queries/clientpositive/index_auto_unused.q index a52b07b..88292f1 100644 --- a/ql/src/test/queries/clientpositive/index_auto_unused.q +++ b/ql/src/test/queries/clientpositive/index_auto_unused.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -- test cases where the index should not be used automatically -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=5368709120; SET hive.optimize.index.filter.compact.maxsize=-1; --- min size too large (src is less than 5G) -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; -SELECT * FROM src WHERE key > 80 AND key < 100; +-- min size too large (`s/c` is less than 5G) +EXPLAIN SELECT * FROM `s/c` WHERE key > 80 AND key < 100; +SELECT * FROM `s/c` WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -21,8 +55,8 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=1; -- max size too small -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; -SELECT * FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT * FROM `s/c` WHERE key > 80 AND key < 100; +SELECT * FROM `s/c` WHERE key > 80 AND key < 100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -30,8 +64,8 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=-1; -- OR predicate not supported by compact indexes -EXPLAIN SELECT * FROM src WHERE key < 10 OR key > 480; -SELECT * FROM src WHERE key < 10 OR key > 480; +EXPLAIN SELECT * FROM `s/c` WHERE key < 10 OR key > 480; +SELECT * FROM `s/c` WHERE key < 10 OR key > 480; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -39,14 +73,14 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=-1; -- columns are not covered by indexes -DROP INDEX src_index on src; -CREATE INDEX src_val_index ON TABLE src(value) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_val_index ON src REBUILD; +DROP INDEX src_index on `s/c`; +CREATE INDEX src_val_index ON TABLE `s/c`(value) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_val_index ON `s/c` REBUILD; -EXPLAIN SELECT * FROM src WHERE key > 80 AND key < 100; -SELECT * FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT * FROM `s/c` WHERE key > 80 AND key < 100; +SELECT * FROM `s/c` WHERE key > 80 AND key < 100; -DROP INDEX src_val_index on src; +DROP INDEX src_val_index on `s/c`; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; @@ -54,10 +88,10 @@ SET hive.optimize.index.filter.compact.minsize=0; SET hive.optimize.index.filter.compact.maxsize=-1; -- required partitions have not been built yet -CREATE INDEX src_part_index ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_part_index ON srcpart PARTITION (ds='2008-04-08', hr=11) REBUILD; +CREATE INDEX src_part_index ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_part_index ON `s/cpart` PARTITION (ds='2008-04-08', hr=11) REBUILD; -EXPLAIN SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10; -SELECT * FROM srcpart WHERE ds='2008-04-09' AND hr=12 AND key < 10; +EXPLAIN SELECT * FROM `s/cpart` WHERE ds='2008-04-09' AND hr=12 AND key < 10; +SELECT * FROM `s/cpart` WHERE ds='2008-04-09' AND hr=12 AND key < 10; -DROP INDEX src_part_index on srcpart; +DROP INDEX src_part_index on `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/index_auto_update.q b/ql/src/test/queries/clientpositive/index_auto_update.q index 976de5c..d65896a 100644 --- a/ql/src/test/queries/clientpositive/index_auto_update.q +++ b/ql/src/test/queries/clientpositive/index_auto_update.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test if index is actually being used. --- Create temp, and populate it with some values in src. +-- Create temp, and populate it with some values in `s/c`. CREATE TABLE temp(key STRING, val STRING) STORED AS TEXTFILE; -INSERT OVERWRITE TABLE temp SELECT * FROM src WHERE key < 50; +INSERT OVERWRITE TABLE temp SELECT * FROM `s/c` WHERE key < 50; -- Build an index on temp. CREATE INDEX temp_index ON TABLE temp(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -14,8 +48,8 @@ SET hive.optimize.index.autoupdate=true; SET hive.optimize.index.filter.compact.minsize=0; -- overwrite temp table so index is out of date -EXPLAIN INSERT OVERWRITE TABLE temp SELECT * FROM src; -INSERT OVERWRITE TABLE temp SELECT * FROM src; +EXPLAIN INSERT OVERWRITE TABLE temp SELECT * FROM `s/c`; +INSERT OVERWRITE TABLE temp SELECT * FROM `s/c`; -- query should return indexed values EXPLAIN SELECT * FROM temp WHERE key = 86; diff --git a/ql/src/test/queries/clientpositive/index_bitmap.q b/ql/src/test/queries/clientpositive/index_bitmap.q index 134d022..a29a06e 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap.q +++ b/ql/src/test/queries/clientpositive/index_bitmap.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; EXPLAIN -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index_proj ON srcpart REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index_proj ON `s/cpart` REBUILD; SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -16,7 +50,7 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08'; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , @@ -24,17 +58,17 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND x.key=100 AND x.ds = '2008-04-08' and x.hr = 11 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08' and hr = 11; -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; EXPLAIN -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index_proj ON srcpart REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index_proj ON `s/cpart` REBUILD; SELECT x.* FROM default__srcpart_srcpart_index_proj__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -43,9 +77,9 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__srcpart_srcpart_index_proj__ WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND key=100 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM srcpart WHERE key=100; +SELECT key, value FROM `s/cpart` WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100; +SELECT key, value FROM `s/cpart` WHERE key=100; -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap1.q b/ql/src/test/queries/clientpositive/index_bitmap1.q index ff6ae5d..ff6fad2 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap1.q +++ b/ql/src/test/queries/clientpositive/index_bitmap1.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS EXPLAIN -CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SELECT x.* FROM default__src_src_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -14,9 +48,9 @@ COLLECT_SET(`_offset`) as `_offsets` FROM default__src_src_index__ WHERE NOT EWAH_BITMAP_EMPTY(`_bitmaps`) AND key=100 GROUP BY `_bucketname`; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=100; +SELECT key, value FROM `s/c` WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=100; +SELECT key, value FROM `s/c` WHERE key=100; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap2.q b/ql/src/test/queries/clientpositive/index_bitmap2.q index 89fbe76..395fa1f 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap2.q +++ b/ql/src/test/queries/clientpositive/index_bitmap2.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS EXPLAIN -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; EXPLAIN -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src1_index ON src REBUILD; -ALTER INDEX src2_index ON src REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src1_index ON `s/c` REBUILD; +ALTER INDEX src2_index ON `s/c` REBUILD; SELECT * FROM default__src_src1_index__; SELECT * FROM default__src_src2_index__; @@ -29,11 +63,11 @@ GROUP BY t.bucketname; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=0 OR value = "val_2"; +SELECT key, value FROM `s/c` WHERE key=0 OR value = "val_2"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=0 OR value = "val_2"; +SELECT key, value FROM `s/c` WHERE key=0 OR value = "val_2"; -DROP INDEX src1_index ON src; -DROP INDEX src2_index ON src; +DROP INDEX src1_index ON `s/c`; +DROP INDEX src2_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap3.q b/ql/src/test/queries/clientpositive/index_bitmap3.q index ed29af9..6e08e36 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap3.q +++ b/ql/src/test/queries/clientpositive/index_bitmap3.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=counter; set hive.stats.autogather=true; -- SORT_QUERY_RESULTS EXPLAIN -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; EXPLAIN -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src1_index ON src REBUILD; -ALTER INDEX src2_index ON src REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src1_index ON `s/c` REBUILD; +ALTER INDEX src2_index ON `s/c` REBUILD; SELECT * FROM default__src_src1_index__; SELECT * FROM default__src_src2_index__; @@ -42,11 +76,11 @@ EWAH_BITMAP_EMPTY(EWAH_BITMAP_AND(a.bitmaps, b.bitmaps)) GROUP BY a.bucketname; SET hive.index.blockfilter.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.HiveIndexedInputFormat; -SELECT key, value FROM src WHERE key=0 AND value = "val_0"; +SELECT key, value FROM `s/c` WHERE key=0 AND value = "val_0"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=0 AND value = "val_0"; +SELECT key, value FROM `s/c` WHERE key=0 AND value = "val_0"; -DROP INDEX src1_index ON src; -DROP INDEX src2_index ON src; +DROP INDEX src1_index ON `s/c`; +DROP INDEX src2_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap_auto.q b/ql/src/test/queries/clientpositive/index_bitmap_auto.q index 2d434d1..1f3117b 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap_auto.q +++ b/ql/src/test/queries/clientpositive/index_bitmap_auto.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=counter; set hive.stats.autogather=true; @@ -5,19 +39,19 @@ set hive.stats.autogather=true; -- try the query without indexing, with manual indexing, and with automatic indexing -- without indexing -SELECT key, value FROM src WHERE key=0 AND value = "val_0"; +SELECT key, value FROM `s/c` WHERE key=0 AND value = "val_0"; -- create indices EXPLAIN -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; EXPLAIN -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -CREATE INDEX src1_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -CREATE INDEX src2_index ON TABLE src(value) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src1_index ON src REBUILD; -ALTER INDEX src2_index ON src REBUILD; +CREATE INDEX src1_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +CREATE INDEX src2_index ON TABLE `s/c`(value) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src1_index ON `s/c` REBUILD; +ALTER INDEX src2_index ON `s/c` REBUILD; SELECT * FROM default__src_src1_index__; SELECT * FROM default__src_src2_index__; @@ -45,13 +79,13 @@ FROM (SELECT `_bucketname` AS bucketname, `_offset` AS offset, `_bitmaps` AS bit a.bucketname = b.bucketname AND a.offset = b.offset WHERE NOT EWAH_BITMAP_EMPTY(EWAH_BITMAP_AND(a.bitmaps, b.bitmaps)) GROUP BY a.bucketname; -SELECT key, value FROM src WHERE key=0 AND value = "val_0"; +SELECT key, value FROM `s/c` WHERE key=0 AND value = "val_0"; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; -SELECT key, value FROM src WHERE key=0 AND value = "val_0"; +SELECT key, value FROM `s/c` WHERE key=0 AND value = "val_0"; -DROP INDEX src1_index ON src; -DROP INDEX src2_index ON src; +DROP INDEX src1_index ON `s/c`; +DROP INDEX src2_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q b/ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q index 2c0b676..f26352f 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q +++ b/ql/src/test/queries/clientpositive/index_bitmap_auto_partitioned.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.fetch.task.conversion=none; -- SORT_QUERY_RESULTS -- test automatic use of index on table with partitions -CREATE INDEX src_part_index ON TABLE srcpart(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src_part_index ON srcpart REBUILD; +CREATE INDEX src_part_index ON TABLE `s/cpart`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src_part_index ON `s/cpart` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; -EXPLAIN SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; -SELECT key, value FROM srcpart WHERE key=86 AND ds='2008-04-09'; +EXPLAIN SELECT key, value FROM `s/cpart` WHERE key=86 AND ds='2008-04-09'; +SELECT key, value FROM `s/cpart` WHERE key=86 AND ds='2008-04-09'; -DROP INDEX src_part_index ON srcpart; +DROP INDEX src_part_index ON `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap_compression.q b/ql/src/test/queries/clientpositive/index_bitmap_compression.q index 91d04ec..b36cab2 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap_compression.q +++ b/ql/src/test/queries/clientpositive/index_bitmap_compression.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; SET hive.exec.compress.output=true; -- SORT_QUERY_RESULTS -CREATE INDEX src_index ON TABLE src(key) as 'BITMAP' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'BITMAP' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; -SELECT key, value FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; +SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_bitmap_rc.q b/ql/src/test/queries/clientpositive/index_bitmap_rc.q index 681fb29..7d353d5 100644 --- a/ql/src/test/queries/clientpositive/index_bitmap_rc.q +++ b/ql/src/test/queries/clientpositive/index_bitmap_rc.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 12; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 11; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 12; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 11; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 12; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 11; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 12; EXPLAIN CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'BITMAP' WITH DEFERRED REBUILD; diff --git a/ql/src/test/queries/clientpositive/index_compact.q b/ql/src/test/queries/clientpositive/index_compact.q index 5b3a14a..fc22ee5 100644 --- a/ql/src/test/queries/clientpositive/index_compact.q +++ b/ql/src/test/queries/clientpositive/index_compact.q @@ -1,45 +1,79 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; EXPLAIN -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index_proj ON srcpart REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index_proj ON `s/cpart` REBUILD; SELECT x.* FROM default__srcpart_srcpart_index_proj__ x WHERE x.ds = '2008-04-08' and x.hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE x.key=100 AND x.ds = '2008-04-08'; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08'; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08'; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_test_index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ x WHERE x.key=100 AND x.ds = '2008-04-08' and x.hr = 11; SET hive.index.compact.file=${system:test.tmp.dir}/index_test_index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08' and hr = 11; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100 AND ds = '2008-04-08' and hr = 11; +SELECT key, value FROM `s/cpart` WHERE key=100 AND ds = '2008-04-08' and hr = 11; -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; EXPLAIN -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -CREATE INDEX srcpart_index_proj ON TABLE srcpart(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX srcpart_index_proj ON srcpart REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +CREATE INDEX srcpart_index_proj ON TABLE `s/cpart`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX srcpart_index_proj ON `s/cpart` REBUILD; SELECT x.* FROM default__srcpart_srcpart_index_proj__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__srcpart_srcpart_index_proj__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM srcpart WHERE key=100; +SELECT key, value FROM `s/cpart` WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM srcpart WHERE key=100; +SELECT key, value FROM `s/cpart` WHERE key=100; -DROP INDEX srcpart_index_proj on srcpart; +DROP INDEX srcpart_index_proj on `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/index_compact_1.q b/ql/src/test/queries/clientpositive/index_compact_1.q index 9cdd563..679c122 100644 --- a/ql/src/test/queries/clientpositive/index_compact_1.q +++ b/ql/src/test/queries/clientpositive/index_compact_1.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS EXPLAIN -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SELECT x.* FROM default__src_src_index__ x; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; INSERT OVERWRITE DIRECTORY "${system:test.tmp.dir}/index_result" SELECT `_bucketname` , `_offsets` FROM default__src_src_index__ WHERE key=100; SET hive.index.compact.file=${system:test.tmp.dir}/index_result; SET hive.input.format=org.apache.hadoop.hive.ql.index.compact.HiveCompactIndexInputFormat; -SELECT key, value FROM src WHERE key=100; +SELECT key, value FROM `s/c` WHERE key=100; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -SELECT key, value FROM src WHERE key=100; +SELECT key, value FROM `s/c` WHERE key=100; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_compact_2.q b/ql/src/test/queries/clientpositive/index_compact_2.q index 80e700c..727c3c6 100644 --- a/ql/src/test/queries/clientpositive/index_compact_2.q +++ b/ql/src/test/queries/clientpositive/index_compact_2.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS CREATE TABLE srcpart_rc (key int, value string) PARTITIONED BY (ds string, hr int) STORED AS RCFILE; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 12; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 11; -INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 12; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 11; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 12; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 11; +INSERT OVERWRITE TABLE srcpart_rc PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 12; CREATE INDEX srcpart_rc_index ON TABLE srcpart_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX srcpart_rc_index ON srcpart_rc REBUILD; diff --git a/ql/src/test/queries/clientpositive/index_compact_3.q b/ql/src/test/queries/clientpositive/index_compact_3.q index 15ba946..096e325 100644 --- a/ql/src/test/queries/clientpositive/index_compact_3.q +++ b/ql/src/test/queries/clientpositive/index_compact_3.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE; -INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM src; +INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM `s/c`; CREATE INDEX src_index ON TABLE src_index_test_rc(key) as 'COMPACT' WITH DEFERRED REBUILD; ALTER INDEX src_index ON src_index_test_rc REBUILD; diff --git a/ql/src/test/queries/clientpositive/index_compact_binary_search.q b/ql/src/test/queries/clientpositive/index_compact_binary_search.q index e72b27c..4faa3ed 100644 --- a/ql/src/test/queries/clientpositive/index_compact_binary_search.q +++ b/ql/src/test/queries/clientpositive/index_compact_binary_search.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.default.fileformat=TextFile; set hive.stats.dbclass=fs; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=1; @@ -10,123 +44,123 @@ SET hive.index.compact.binary.search=true; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; SET hive.default.fileformat=RCFILE; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; SET hive.default.fileformat=TextFile; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; SET hive.default.fileformat=RCFILE; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; SET hive.input.format=org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; SET hive.default.fileformat=TextFile; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; SET hive.default.fileformat=RCFILE; -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyHiveSortedInputFormatUsedHook; -SELECT * FROM src WHERE key = '0'; +SELECT * FROM `s/c` WHERE key = '0'; -SELECT * FROM src WHERE key < '1'; +SELECT * FROM `s/c` WHERE key < '1'; -SELECT * FROM src WHERE key <= '0'; +SELECT * FROM `s/c` WHERE key <= '0'; -SELECT * FROM src WHERE key > '8'; +SELECT * FROM `s/c` WHERE key > '8'; -SELECT * FROM src WHERE key >= '9'; +SELECT * FROM `s/c` WHERE key >= '9'; SET hive.exec.post.hooks=; -DROP INDEX src_index ON src; +DROP INDEX src_index ON `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_compression.q b/ql/src/test/queries/clientpositive/index_compression.q index 0702a2b..fc3295d 100644 --- a/ql/src/test/queries/clientpositive/index_compression.q +++ b/ql/src/test/queries/clientpositive/index_compression.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.compress.output=true; SET hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS -CREATE INDEX src_index ON TABLE src(key) as 'COMPACT' WITH DEFERRED REBUILD; -ALTER INDEX src_index ON src REBUILD; +CREATE INDEX src_index ON TABLE `s/c`(key) as 'COMPACT' WITH DEFERRED REBUILD; +ALTER INDEX src_index ON `s/c` REBUILD; SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- automatic indexing -EXPLAIN SELECT key, value FROM src WHERE key > 80 AND key < 100; -SELECT key, value FROM src WHERE key > 80 AND key < 100; +EXPLAIN SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; +SELECT key, value FROM `s/c` WHERE key > 80 AND key < 100; -DROP INDEX src_index on src; +DROP INDEX src_index on `s/c`; diff --git a/ql/src/test/queries/clientpositive/index_creation.q b/ql/src/test/queries/clientpositive/index_creation.q index ef020b6..439c4a6 100644 --- a/ql/src/test/queries/clientpositive/index_creation.q +++ b/ql/src/test/queries/clientpositive/index_creation.q @@ -1,36 +1,70 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -drop index src_index_2 on src; -drop index src_index_3 on src; -drop index src_index_4 on src; -drop index src_index_5 on src; -drop index src_index_6 on src; -drop index src_index_7 on src; -drop index src_index_8 on src; -drop index src_index_9 on src; +drop index src_index_2 on `s/c`; +drop index src_index_3 on `s/c`; +drop index src_index_4 on `s/c`; +drop index src_index_5 on `s/c`; +drop index src_index_6 on `s/c`; +drop index src_index_7 on `s/c`; +drop index src_index_8 on `s/c`; +drop index src_index_9 on `s/c`; drop table `_t`; -create index src_index_2 on table src(key) as 'compact' WITH DEFERRED REBUILD; +create index src_index_2 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD; desc extended default__src_src_index_2__; -create index src_index_3 on table src(key) as 'compact' WITH DEFERRED REBUILD in table src_idx_src_index_3; +create index src_index_3 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD in table src_idx_src_index_3; desc extended src_idx_src_index_3; -create index src_index_4 on table src(key) as 'compact' WITH DEFERRED REBUILD ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; +create index src_index_4 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; desc extended default__src_src_index_4__; -create index src_index_5 on table src(key) as 'compact' WITH DEFERRED REBUILD ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\'; +create index src_index_5 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\'; desc extended default__src_src_index_5__; -create index src_index_6 on table src(key) as 'compact' WITH DEFERRED REBUILD STORED AS RCFILE; +create index src_index_6 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD STORED AS RCFILE; desc extended default__src_src_index_6__; -create index src_index_7 on table src(key) as 'compact' WITH DEFERRED REBUILD in table src_idx_src_index_7 STORED AS RCFILE; +create index src_index_7 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD in table src_idx_src_index_7 STORED AS RCFILE; desc extended src_idx_src_index_7; -create index src_index_8 on table src(key) as 'compact' WITH DEFERRED REBUILD IDXPROPERTIES ("prop1"="val1", "prop2"="val2"); +create index src_index_8 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD IDXPROPERTIES ("prop1"="val1", "prop2"="val2"); desc extended default__src_src_index_8__; -create index src_index_9 on table src(key) as 'compact' WITH DEFERRED REBUILD TBLPROPERTIES ("prop1"="val1", "prop2"="val2"); +create index src_index_9 on table `s/c`(key) as 'compact' WITH DEFERRED REBUILD TBLPROPERTIES ("prop1"="val1", "prop2"="val2"); desc extended default__src_src_index_9__; create table `_t`(`_i` int, `_j` int); @@ -41,14 +75,14 @@ create index x2 on table `_t`(`_i`,`_j`) as 'compact' WITH DEFERRED REBUILD; alter index x2 on `_t` rebuild; -drop index src_index_2 on src; -drop index src_index_3 on src; -drop index src_index_4 on src; -drop index src_index_5 on src; -drop index src_index_6 on src; -drop index src_index_7 on src; -drop index src_index_8 on src; -drop index src_index_9 on src; +drop index src_index_2 on `s/c`; +drop index src_index_3 on `s/c`; +drop index src_index_4 on `s/c`; +drop index src_index_5 on `s/c`; +drop index src_index_6 on `s/c`; +drop index src_index_7 on `s/c`; +drop index src_index_8 on `s/c`; +drop index src_index_9 on `s/c`; drop table `_t`; show tables; diff --git a/ql/src/test/queries/clientpositive/index_in_db.q b/ql/src/test/queries/clientpositive/index_in_db.q index 253870c..095d688 100644 --- a/ql/src/test/queries/clientpositive/index_in_db.q +++ b/ql/src/test/queries/clientpositive/index_in_db.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.index.filter=true; drop database if exists index_test_db cascade; -- Test selecting selecting from a table that is backed by an index diff --git a/ql/src/test/queries/clientpositive/index_serde.q b/ql/src/test/queries/clientpositive/index_serde.q index 8f20f28..fc28187 100644 --- a/ql/src/test/queries/clientpositive/index_serde.q +++ b/ql/src/test/queries/clientpositive/index_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/index_skewtable.q b/ql/src/test/queries/clientpositive/index_skewtable.q index fdf65cd..d05a2e2 100644 --- a/ql/src/test/queries/clientpositive/index_skewtable.q +++ b/ql/src/test/queries/clientpositive/index_skewtable.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test creating an index on skewed table -- Create a skew table diff --git a/ql/src/test/queries/clientpositive/index_stale.q b/ql/src/test/queries/clientpositive/index_stale.q index ecab2b7..7bbc869 100644 --- a/ql/src/test/queries/clientpositive/index_stale.q +++ b/ql/src/test/queries/clientpositive/index_stale.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- test that stale indexes are not used CREATE TABLE temp(key STRING, val STRING) STORED AS TEXTFILE; -INSERT OVERWRITE TABLE temp SELECT * FROM src WHERE key < 50; +INSERT OVERWRITE TABLE temp SELECT * FROM `s/c` WHERE key < 50; -- Build an index on temp. CREATE INDEX temp_index ON TABLE temp(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -13,7 +47,7 @@ SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- overwrite temp table so index is out of date -INSERT OVERWRITE TABLE temp SELECT * FROM src; +INSERT OVERWRITE TABLE temp SELECT * FROM `s/c`; -- should return correct results bypassing index EXPLAIN SELECT * FROM temp WHERE key = 86; diff --git a/ql/src/test/queries/clientpositive/index_stale_partitioned.q b/ql/src/test/queries/clientpositive/index_stale_partitioned.q index a93ccf7..0d707c5 100644 --- a/ql/src/test/queries/clientpositive/index_stale_partitioned.q +++ b/ql/src/test/queries/clientpositive/index_stale_partitioned.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- Test if index is actually being used. --- Create temp, and populate it with some values in src. +-- Create temp, and populate it with some values in `s/c`. CREATE TABLE temp(key STRING, val STRING) PARTITIONED BY (foo string) STORED AS TEXTFILE; ALTER TABLE temp ADD PARTITION (foo = 'bar'); -INSERT OVERWRITE TABLE temp PARTITION (foo = 'bar') SELECT * FROM src WHERE key < 50; +INSERT OVERWRITE TABLE temp PARTITION (foo = 'bar') SELECT * FROM `s/c` WHERE key < 50; -- Build an index on temp. CREATE INDEX temp_index ON TABLE temp(key) as 'COMPACT' WITH DEFERRED REBUILD; @@ -15,7 +49,7 @@ SET hive.optimize.index.filter=true; SET hive.optimize.index.filter.compact.minsize=0; -- overwrite temp table so index is out of date -INSERT OVERWRITE TABLE temp PARTITION (foo = 'bar') SELECT * FROM src; +INSERT OVERWRITE TABLE temp PARTITION (foo = 'bar') SELECT * FROM `s/c`; -- query should not return any values SELECT * FROM default__temp_temp_index__ WHERE key = 86 AND foo='bar'; diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort.q b/ql/src/test/queries/clientpositive/infer_bucket_sort.q index 07466fd..70fed30 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; -- This tests inferring how data is bucketed/sorted from the operators in the reducer @@ -7,152 +41,152 @@ CREATE TABLE test_table (key STRING, value STRING) PARTITIONED BY (part STRING); -- Test group by, should be bucketed and sorted by group by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, count(*) FROM src GROUP BY key; +SELECT key, count(*) FROM `s/c` GROUP BY key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by where a key isn't selected, should not be bucketed or sorted INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, count(*) FROM src GROUP BY key, value; +SELECT key, count(*) FROM `s/c` GROUP BY key, value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join, should be bucketed and sorted by join key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, a.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, a.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join with two keys, should be bucketed and sorted by join keys INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, a.value FROM src a JOIN src b ON a.key = b.key AND a.value = b.value; +SELECT a.key, a.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.value = b.value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join with two keys and only one selected, should not be bucketed or sorted INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, '1' FROM src a JOIN src b ON a.key = b.key AND a.value = b.value; +SELECT a.key, '1' FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.value = b.value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join on three tables on same key, should be bucketed and sorted by join key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, c.value FROM src a JOIN src b ON (a.key = b.key) JOIN src c ON (b.key = c.key); +SELECT a.key, c.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) JOIN `s/c` c ON (b.key = c.key); DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join on three tables on different keys, should be bucketed and sorted by latter key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, c.value FROM src a JOIN src b ON (a.key = b.key) JOIN src c ON (b.value = c.value); +SELECT a.key, c.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) JOIN `s/c` c ON (b.value = c.value); DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test distribute by, should only be bucketed by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM src DISTRIBUTE BY key; +SELECT key, value FROM `s/c` DISTRIBUTE BY key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test sort by, should be sorted by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM src SORT BY key ASC; +SELECT key, value FROM `s/c` SORT BY key ASC; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test sort by desc, should be sorted by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM src SORT BY key DESC; +SELECT key, value FROM `s/c` SORT BY key DESC; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test cluster by, should be bucketed and sorted by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM src CLUSTER BY key; +SELECT key, value FROM `s/c` CLUSTER BY key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test distribute by and sort by different keys, should be bucketed by one key sorted by the other INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM src DISTRIBUTE BY key SORT BY value; +SELECT key, value FROM `s/c` DISTRIBUTE BY key SORT BY value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join in simple subquery, should be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value from (SELECT a.key, b.value FROM src a JOIN src b ON (a.key = b.key)) subq; +SELECT key, value from (SELECT a.key, b.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key)) subq; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join in simple subquery renaming key column, should be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT k, value FROM (SELECT a.key as k, b.value FROM src a JOIN src b ON (a.key = b.key)) subq; +SELECT k, value FROM (SELECT a.key as k, b.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key)) subq; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in simple subquery, should be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, cnt from (SELECT key, count(*) as cnt FROM src GROUP BY key) subq; +SELECT key, cnt from (SELECT key, count(*) as cnt FROM `s/c` GROUP BY key) subq; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in simple subquery renaming key column, should be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT k, cnt FROM (SELECT key as k, count(*) as cnt FROM src GROUP BY key) subq; +SELECT k, cnt FROM (SELECT key as k, count(*) as cnt FROM `s/c` GROUP BY key) subq; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with where outside, should still be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM (SELECT key, count(1) AS value FROM src group by key) a where key < 10; +SELECT key, value FROM (SELECT key, count(1) AS value FROM `s/c` group by key) a where key < 10; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with expression on value, should still be bucketed and sorted on key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value + 1 FROM (SELECT key, count(1) AS value FROM src group by key) a where key < 10; +SELECT key, value + 1 FROM (SELECT key, count(1) AS value FROM `s/c` group by key) a where key < 10; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with lateral view outside, should still be bucketed and sorted INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM (SELECT key FROM src group by key) a lateral view explode(array(1, 2)) value as value; +SELECT key, value FROM (SELECT key FROM `s/c` group by key) a lateral view explode(array(1, 2)) value as value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with another group by outside, should be bucketed and sorted by the -- key of the outer group by INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT count(1), value FROM (SELECT key, count(1) as value FROM src group by key) a group by value; +SELECT count(1), value FROM (SELECT key, count(1) as value FROM `s/c` group by key) a group by value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with select on outside reordering the columns, should be bucketed and -- sorted by the column the group by key ends up in INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT value, key FROM (SELECT key, count(1) as value FROM src group by key) a; +SELECT value, key FROM (SELECT key, count(1) as value FROM `s/c` group by key) a; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery followed by distribute by, should only be bucketed by the distribute key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM (SELECT key, count(1) as value FROM src group by key) a distribute by key; +SELECT key, value FROM (SELECT key, count(1) as value FROM `s/c` group by key) a distribute by key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery followed by sort by, should only be sorted by the sort key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM (SELECT key, count(1) as value FROM src group by key) a sort by key; +SELECT key, value FROM (SELECT key, count(1) as value FROM `s/c` group by key) a sort by key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery followed by transform script, should not be bucketed or sorted INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT TRANSFORM (a.key, a.value) USING 'cat' AS (key, value) FROM (SELECT key, count(1) AS value FROM src GROUP BY KEY) a; +SELECT TRANSFORM (a.key, a.value) USING 'cat' AS (key, value) FROM (SELECT key, count(1) AS value FROM `s/c` GROUP BY KEY) a; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by on function, should be bucketed and sorted by key and value because the function is applied in the mapper INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, value FROM (SELECT concat(key, "a") AS key, value, count(*) FROM src GROUP BY concat(key, "a"), value) a; +SELECT key, value FROM (SELECT concat(key, "a") AS key, value, count(*) FROM `s/c` GROUP BY concat(key, "a"), value) a; DESCRIBE FORMATTED test_table PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_bucketed_table.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_bucketed_table.q index d69f49f..00dcefa 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_bucketed_table.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_bucketed_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing=true; set hive.enforce.sorting=true; set hive.exec.infer.bucket.sort=true; @@ -10,7 +44,7 @@ CLUSTERED BY (value) SORTED BY (value) INTO 3 BUCKETS; -- Despite the fact that normally inferring would say this table is bucketed and sorted on key, -- this should be bucketed and sorted by value into 3 buckets INSERT OVERWRITE TABLE test_table_bucketed PARTITION (part = '1') -SELECT key, count(1) FROM src GROUP BY KEY; +SELECT key, count(1) FROM `s/c` GROUP BY KEY; DESCRIBE FORMATTED test_table_bucketed PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_convert_join.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_convert_join.q index 6b656ff..833c224 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_convert_join.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_convert_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.exec.infer.bucket.sort.num.buckets.power.two=true; set hive.auto.convert.join=true; @@ -10,7 +44,7 @@ CREATE TABLE test_table (key STRING, value STRING) PARTITIONED BY (part STRING); -- Tests a join which is converted to a map join, the output should be neither bucketed nor sorted INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, b.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, b.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); @@ -22,6 +56,6 @@ set hive.auto.convert.join.noconditionaltask = false; -- Tests a join which is not converted to a map join, the output should be bucketed and sorted. INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, b.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, b.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_dyn_part.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_dyn_part.q index 728b8cc..8b6bccd 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_dyn_part.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_dyn_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.exec.infer.bucket.sort.num.buckets.power.two=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -8,13 +42,13 @@ set hive.merge.mapredfiles=false; -- and populating that information in partitions' metadata. In particular, those cases -- where dynamic partitioning is used. -CREATE TABLE test_table LIKE srcpart; +CREATE TABLE test_table LIKE `s/cpart`; ALTER TABLE test_table SET FILEFORMAT RCFILE; -- Simple case, this should not be bucketed or sorted INSERT OVERWRITE TABLE test_table PARTITION (ds, hr) -SELECT key, value, ds, hr FROM srcpart +SELECT key, value, ds, hr FROM `s/cpart` WHERE ds = '2008-04-08'; DESCRIBE FORMATTED test_table PARTITION (ds='2008-04-08', hr='11'); @@ -24,7 +58,7 @@ DESCRIBE FORMATTED test_table PARTITION (ds='2008-04-08', hr='12'); -- and sorted columns for the output INSERT OVERWRITE TABLE test_table PARTITION (ds, hr) -SELECT key, COUNT(*), ds, hr FROM srcpart +SELECT key, COUNT(*), ds, hr FROM `s/cpart` WHERE ds = '2008-04-08' GROUP BY key, ds, hr; @@ -35,16 +69,16 @@ DESCRIBE FORMATTED test_table PARTITION (ds='2008-04-08', hr='12'); INSERT OVERWRITE TABLE test_table PARTITION (ds, hr) SELECT key, value, '2008-04-08', IF (key % 2 == 0, '11', '12') FROM -(SELECT key, COUNT(*) AS value FROM srcpart +(SELECT key, COUNT(*) AS value FROM `s/cpart` WHERE ds = '2008-04-08' GROUP BY key) a; DESCRIBE FORMATTED test_table PARTITION (ds='2008-04-08', hr='11'); DESCRIBE FORMATTED test_table PARTITION (ds='2008-04-08', hr='12'); -CREATE TABLE srcpart_merge_dp LIKE srcpart; +CREATE TABLE srcpart_merge_dp LIKE `s/cpart`; -CREATE TABLE srcpart_merge_dp_rc LIKE srcpart; +CREATE TABLE srcpart_merge_dp_rc LIKE `s/cpart`; ALTER TABLE srcpart_merge_dp_rc SET FILEFORMAT RCFILE; LOAD DATA LOCAL INPATH '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp PARTITION(ds='2008-04-08', hr=11); @@ -73,13 +107,13 @@ set mapred.reduce.tasks=2; EXPLAIN INSERT OVERWRITE TABLE test_table PARTITION (ds = '2008-04-08', hr) SELECT key, value, IF (key % 100 == 0, '11', '12') FROM -(SELECT key, COUNT(*) AS value FROM srcpart +(SELECT key, COUNT(*) AS value FROM `s/cpart` WHERE ds = '2008-04-08' GROUP BY key) a; INSERT OVERWRITE TABLE test_table PARTITION (ds = '2008-04-08', hr) SELECT key, value, IF (key % 100 == 0, '11', '12') FROM -(SELECT key, COUNT(*) AS value FROM srcpart +(SELECT key, COUNT(*) AS value FROM `s/cpart` WHERE ds = '2008-04-08' GROUP BY key) a; diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_grouping_operators.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_grouping_operators.q index e3b8a17..f8e8fd3 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_grouping_operators.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_grouping_operators.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; -- This tests inferring how data is bucketed/sorted from the operators in the reducer @@ -10,48 +44,48 @@ CREATE TABLE test_table_out_2 (key STRING, value STRING, grouping_key STRING, ag -- Test rollup, should not be bucketed or sorted because its missing the grouping ID EXPLAIN INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value WITH ROLLUP; +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value WITH ROLLUP; INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value WITH ROLLUP; +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value WITH ROLLUP; DESCRIBE FORMATTED test_table_out PARTITION (part = '1'); -- Test rollup, should be bucketed and sorted on key, value, grouping_key INSERT OVERWRITE TABLE test_table_out_2 PARTITION (part = '1') -SELECT key, value, GROUPING__ID, count(1) FROM src GROUP BY key, value WITH ROLLUP; +SELECT key, value, GROUPING__ID, count(1) FROM `s/c` GROUP BY key, value WITH ROLLUP; DESCRIBE FORMATTED test_table_out_2 PARTITION (part = '1'); -- Test cube, should not be bucketed or sorted because its missing the grouping ID EXPLAIN INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value WITH CUBE; +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value WITH CUBE; INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value WITH CUBE; +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value WITH CUBE; DESCRIBE FORMATTED test_table_out PARTITION (part = '1'); -- Test cube, should be bucketed and sorted on key, value, grouping_key INSERT OVERWRITE TABLE test_table_out_2 PARTITION (part = '1') -SELECT key, value, GROUPING__ID, count(1) FROM src GROUP BY key, value WITH CUBE; +SELECT key, value, GROUPING__ID, count(1) FROM `s/c` GROUP BY key, value WITH CUBE; DESCRIBE FORMATTED test_table_out_2 PARTITION (part = '1'); -- Test grouping sets, should not be bucketed or sorted because its missing the grouping ID EXPLAIN INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value GROUPING SETS (key, value); +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value GROUPING SETS (key, value); INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') -SELECT key, value, count(1) FROM src GROUP BY key, value GROUPING SETS (key, value); +SELECT key, value, count(1) FROM `s/c` GROUP BY key, value GROUPING SETS (key, value); DESCRIBE FORMATTED test_table_out PARTITION (part = '1'); -- Test grouping sets, should be bucketed and sorted on key, value, grouping_key INSERT OVERWRITE TABLE test_table_out_2 PARTITION (part = '1') -SELECT key, value, GROUPING__ID, count(1) FROM src GROUP BY key, value GROUPING SETS (key, value); +SELECT key, value, GROUPING__ID, count(1) FROM `s/c` GROUP BY key, value GROUPING SETS (key, value); DESCRIBE FORMATTED test_table_out_2 PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_list_bucket.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_list_bucket.q index 7d3c0dc..b352674 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_list_bucket.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_list_bucket.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; @@ -16,7 +50,7 @@ STORED AS DIRECTORIES; -- Tests group by, the output should neither be bucketed nor sorted INSERT OVERWRITE TABLE list_bucketing_table PARTITION (part = '1') -SELECT key, count(*) FROM src GROUP BY key; +SELECT key, count(*) FROM `s/c` GROUP BY key; DESC FORMATTED list_bucketing_table PARTITION (part = '1'); @@ -28,6 +62,6 @@ STORED AS DIRECTORIES; -- should not be bucketed or sorted INSERT OVERWRITE TABLE list_bucketing_table2 PARTITION (part = '1') -SELECT key, count(*) FROM src GROUP BY key; +SELECT key, count(*) FROM `s/c` GROUP BY key; DESC FORMATTED list_bucketing_table2 PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_map_operators.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_map_operators.q index 16e8715..2e01147 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_map_operators.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_map_operators.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; @@ -12,9 +46,9 @@ CLUSTERED BY (key) SORTED BY (key DESC) INTO 2 BUCKETS; CREATE TABLE test_table2 (key STRING, value STRING) CLUSTERED BY (key) SORTED BY (key DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE test_table1 SELECT key, value FROM src; +INSERT OVERWRITE TABLE test_table1 SELECT key, value FROM `s/c`; -INSERT OVERWRITE TABLE test_table2 SELECT key, value FROM src; +INSERT OVERWRITE TABLE test_table2 SELECT key, value FROM `s/c`; CREATE TABLE test_table_out (key STRING, value STRING) PARTITIONED BY (part STRING); @@ -34,7 +68,7 @@ EXPLAIN INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') SELECT a.key, a.value FROM ( SELECT key, count(*) AS value FROM test_table1 GROUP BY key ) a JOIN ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` ) b ON (a.value = b.value); @@ -42,7 +76,7 @@ INSERT OVERWRITE TABLE test_table_out PARTITION (part = '1') SELECT a.key, a.value FROM ( SELECT key, cast(count(*) AS STRING) AS value FROM test_table1 GROUP BY key ) a JOIN ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` ) b ON (a.value = b.value); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_merge.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_merge.q index 41c1a13..f8f0e7d 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_merge.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_merge.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.exec.infer.bucket.sort.num.buckets.power.two=true; set hive.merge.mapredfiles=true; @@ -11,7 +45,7 @@ CREATE TABLE test_table (key STRING, value STRING) PARTITIONED BY (part STRING); -- Tests a reduce task followed by a merge. The output should be neither bucketed nor sorted. INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, b.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, b.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); @@ -20,6 +54,6 @@ set hive.exec.compress.output=false; -- Tests a reduce task followed by a move. The output should be bucketed and sorted. INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, b.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, b.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_multi_insert.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_multi_insert.q index e3992b8..ebdec5a 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_multi_insert.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_multi_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.exec.infer.bucket.sort.num.buckets.power.two=true; @@ -9,7 +43,7 @@ CREATE TABLE test_table (key STRING, value STRING) PARTITIONED BY (part STRING); -- Simple case, neither partition should be bucketed or sorted -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table PARTITION (part = '1') SELECT key, value INSERT OVERWRITE TABLE test_table PARTITION (part = '2') SELECT value, key; @@ -18,7 +52,7 @@ DESCRIBE FORMATTED test_table PARTITION (part = '2'); -- The partitions should be bucketed and sorted by different keys -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table PARTITION (part = '1') SELECT key, COUNT(*) GROUP BY key INSERT OVERWRITE TABLE test_table PARTITION (part = '2') SELECT COUNT(*), value GROUP BY value; @@ -27,7 +61,7 @@ DESCRIBE FORMATTED test_table PARTITION (part = '2'); -- The first partition should be bucketed and sorted, the second should not -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table PARTITION (part = '1') SELECT key, COUNT(*) GROUP BY key INSERT OVERWRITE TABLE test_table PARTITION (part = '2') SELECT key, value; @@ -38,7 +72,7 @@ set hive.multigroupby.singlereducer=true; -- Test the multi group by single reducer optimization -- Both partitions should be bucketed by key -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table PARTITION (part = '1') SELECT key, COUNT(*) GROUP BY key INSERT OVERWRITE TABLE test_table PARTITION (part = '2') SELECT key, SUM(SUBSTR(value, 5)) GROUP BY key; diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_num_buckets.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_num_buckets.q index 2255bdb..422d998 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_num_buckets.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_num_buckets.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; @@ -22,14 +56,14 @@ EXPLAIN INSERT OVERWRITE TABLE test_table PARTITION (ds = '2008-04-08', hr) SELECT key2, value, cast(hr as int) FROM (SELECT if ((key % 3) < 2, 0, 1) as key2, value, (key % 2) as hr -FROM srcpart +FROM `s/cpart` WHERE ds = '2008-04-08') a DISTRIBUTE BY key2; INSERT OVERWRITE TABLE test_table PARTITION (ds = '2008-04-08', hr) SELECT key2, value, cast(hr as int) FROM (SELECT if ((key % 3) < 2, 0, 1) as key2, value, (key % 3 % 2) as hr -FROM srcpart +FROM `s/cpart` WHERE ds = '2008-04-08') a DISTRIBUTE BY key2; diff --git a/ql/src/test/queries/clientpositive/infer_bucket_sort_reducers_power_two.q b/ql/src/test/queries/clientpositive/infer_bucket_sort_reducers_power_two.q index 090f04f..e66985c 100644 --- a/ql/src/test/queries/clientpositive/infer_bucket_sort_reducers_power_two.q +++ b/ql/src/test/queries/clientpositive/infer_bucket_sort_reducers_power_two.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.infer.bucket.sort=true; set hive.exec.infer.bucket.sort.num.buckets.power.two=true; set hive.exec.reducers.bytes.per.reducer=2500; @@ -10,37 +44,37 @@ CREATE TABLE test_table (key STRING, value STRING) PARTITIONED BY (part STRING); -- Test group by, should be bucketed and sorted by group by key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT key, count(*) FROM src GROUP BY key; +SELECT key, count(*) FROM `s/c` GROUP BY key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join, should be bucketed and sorted by join key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, a.value FROM src a JOIN src b ON a.key = b.key; +SELECT a.key, a.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join with two keys, should be bucketed and sorted by join keys INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, a.value FROM src a JOIN src b ON a.key = b.key AND a.value = b.value; +SELECT a.key, a.value FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.value = b.value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join on three tables on same key, should be bucketed and sorted by join key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, c.value FROM src a JOIN src b ON (a.key = b.key) JOIN src c ON (b.key = c.key); +SELECT a.key, c.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) JOIN `s/c` c ON (b.key = c.key); DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test join on three tables on different keys, should be bucketed and sorted by latter key INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT a.key, c.value FROM src a JOIN src b ON (a.key = b.key) JOIN src c ON (b.value = c.value); +SELECT a.key, c.value FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) JOIN `s/c` c ON (b.value = c.value); DESCRIBE FORMATTED test_table PARTITION (part = '1'); -- Test group by in subquery with another group by outside, should be bucketed and sorted by the -- key of the outer group by INSERT OVERWRITE TABLE test_table PARTITION (part = '1') -SELECT count(1), value FROM (SELECT key, count(1) as value FROM src group by key) a group by value; +SELECT count(1), value FROM (SELECT key, count(1) as value FROM `s/c` group by key) a group by value; DESCRIBE FORMATTED test_table PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/infer_const_type.q b/ql/src/test/queries/clientpositive/infer_const_type.q index ce5ed84..dc539b3 100644 --- a/ql/src/test/queries/clientpositive/infer_const_type.q +++ b/ql/src/test/queries/clientpositive/infer_const_type.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE infertypes; CREATE TABLE infertypes(ti TINYINT, si SMALLINT, i INT, bi BIGINT, fl FLOAT, db DOUBLE, str STRING); diff --git a/ql/src/test/queries/clientpositive/init_file.q b/ql/src/test/queries/clientpositive/init_file.q index f69a88d..21da9c9 100644 --- a/ql/src/test/queries/clientpositive/init_file.q +++ b/ql/src/test/queries/clientpositive/init_file.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- tbl_created_by_init is supposed to have been created for us -- automatically by test_init_file.sql diff --git a/ql/src/test/queries/clientpositive/innerjoin.q b/ql/src/test/queries/clientpositive/innerjoin.q index e0eabc0..6db0f4d 100644 --- a/ql/src/test/queries/clientpositive/innerjoin.q +++ b/ql/src/test/queries/clientpositive/innerjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- SORT_QUERY_RESULTS @@ -5,10 +39,10 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 INNER JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; -FROM src src1 INNER JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 INNER JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT dest_j1.* FROM dest_j1; @@ -23,5 +57,5 @@ create table i(`inner` int); select `inner` from i; -explain select * from (select * from src) `inner` left outer join src -on `inner`.key=src.key; +explain select * from (select * from `s/c`) `inner` left outer join `s/c` +on `inner`.key=`s/c`.key; diff --git a/ql/src/test/queries/clientpositive/inoutdriver.q b/ql/src/test/queries/clientpositive/inoutdriver.q index 34b0e0b..3eeeaa7 100644 --- a/ql/src/test/queries/clientpositive/inoutdriver.q +++ b/ql/src/test/queries/clientpositive/inoutdriver.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table test (a int) stored as inputformat 'org.apache.hadoop.hive.ql.io.RCFileInputFormat' outputformat 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat' inputdriver 'RCFileInDriver' outputdriver 'RCFileOutDriver'; desc extended test; diff --git a/ql/src/test/queries/clientpositive/input.q b/ql/src/test/queries/clientpositive/input.q index 567d3b0..b2f20e8 100644 --- a/ql/src/test/queries/clientpositive/input.q +++ b/ql/src/test/queries/clientpositive/input.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRC x; +SELECT x.* FROM `s/c` x; -SELECT x.* FROM SRC x; +SELECT x.* FROM `s/c` x; diff --git a/ql/src/test/queries/clientpositive/input0.q b/ql/src/test/queries/clientpositive/input0.q index 63857c7..4622149 100644 --- a/ql/src/test/queries/clientpositive/input0.q +++ b/ql/src/test/queries/clientpositive/input0.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT * FROM src; +SELECT * FROM `s/c`; -SELECT * FROM src; +SELECT * FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/input1.q b/ql/src/test/queries/clientpositive/input1.q index 3f2cd96..f248eb3 100644 --- a/ql/src/test/queries/clientpositive/input1.q +++ b/ql/src/test/queries/clientpositive/input1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TEST1(A INT, B DOUBLE) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input10.q b/ql/src/test/queries/clientpositive/input10.q index aef5c9b..e659cf3 100644 --- a/ql/src/test/queries/clientpositive/input10.q +++ b/ql/src/test/queries/clientpositive/input10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TEST10(key INT, value STRING) PARTITIONED BY(ds STRING, hr STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input11.q b/ql/src/test/queries/clientpositive/input11.q index 5aa6ee7..1982223 100644 --- a/ql/src/test/queries/clientpositive/input11.q +++ b/ql/src/test/queries/clientpositive/input11.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/input11_limit.q b/ql/src/test/queries/clientpositive/input11_limit.q index d58ec83..ba1a5c6 100644 --- a/ql/src/test/queries/clientpositive/input11_limit.q +++ b/ql/src/test/queries/clientpositive/input11_limit.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 10; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 10; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/input12.q b/ql/src/test/queries/clientpositive/input12.q index cb540db..6ad15d7 100644 --- a/ql/src/test/queries/clientpositive/input12.q +++ b/ql/src/test/queries/clientpositive/input12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapreduce.framework.name=yarn; set mapreduce.jobtracker.address=localhost:58; set hive.exec.mode.local.auto=true; @@ -9,15 +43,15 @@ CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest3(key INT) PARTITIONED BY(ds STRING, hr STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200; - -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200; + +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200; SELECT dest1.* FROM dest1; SELECT dest2.* FROM dest2; diff --git a/ql/src/test/queries/clientpositive/input12_hadoop20.q b/ql/src/test/queries/clientpositive/input12_hadoop20.q index 17ee0a8..391d338 100644 --- a/ql/src/test/queries/clientpositive/input12_hadoop20.q +++ b/ql/src/test/queries/clientpositive/input12_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.job.tracker=localhost:58; set hive.exec.mode.local.auto=true; @@ -8,15 +42,15 @@ CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest3(key INT) PARTITIONED BY(ds STRING, hr STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200; - -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200; + +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200; SELECT dest1.* FROM dest1; SELECT dest2.* FROM dest2; diff --git a/ql/src/test/queries/clientpositive/input13.q b/ql/src/test/queries/clientpositive/input13.q index 620e9dc..3247a6e 100644 --- a/ql/src/test/queries/clientpositive/input13.q +++ b/ql/src/test/queries/clientpositive/input13.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest3(key INT) PARTITIONED BY(ds STRING, hr STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200 and src.key < 300 -INSERT OVERWRITE DIRECTORY 'target/warehouse/dest4.out' SELECT src.value WHERE src.key >= 300; - -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200 -INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200 and src.key < 300 -INSERT OVERWRITE DIRECTORY 'target/warehouse/dest4.out' SELECT src.value WHERE src.key >= 300; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200 and `s/c`.key < 300 +INSERT OVERWRITE DIRECTORY 'target/warehouse/dest4.out' SELECT `s/c`.value WHERE `s/c`.key >= 300; + +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.* WHERE `s/c`.key < 100 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key >= 100 and `s/c`.key < 200 +INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT `s/c`.key WHERE `s/c`.key >= 200 and `s/c`.key < 300 +INSERT OVERWRITE DIRECTORY 'target/warehouse/dest4.out' SELECT `s/c`.value WHERE `s/c`.key >= 300; SELECT dest1.* FROM dest1; SELECT dest2.* FROM dest2; diff --git a/ql/src/test/queries/clientpositive/input14.q b/ql/src/test/queries/clientpositive/input14.q index e854acf..19dc7ee 100644 --- a/ql/src/test/queries/clientpositive/input14.q +++ b/ql/src/test/queries/clientpositive/input14.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap INSERT OVERWRITE TABLE dest1 SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap diff --git a/ql/src/test/queries/clientpositive/input14_limit.q b/ql/src/test/queries/clientpositive/input14_limit.q index 7316752..341a0bc 100644 --- a/ql/src/test/queries/clientpositive/input14_limit.q +++ b/ql/src/test/queries/clientpositive/input14_limit.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey LIMIT 20 ) tmap INSERT OVERWRITE TABLE dest1 SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey LIMIT 20 ) tmap diff --git a/ql/src/test/queries/clientpositive/input15.q b/ql/src/test/queries/clientpositive/input15.q index 2b76497..e8516b5 100644 --- a/ql/src/test/queries/clientpositive/input15.q +++ b/ql/src/test/queries/clientpositive/input15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE TEST15(key INT, value STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/input16.q b/ql/src/test/queries/clientpositive/input16.q index 4990d0b..2674e98 100644 --- a/ql/src/test/queries/clientpositive/input16.q +++ b/ql/src/test/queries/clientpositive/input16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- TestSerDe is a user defined serde where the default delimiter is Ctrl-B DROP TABLE INPUT16; ADD JAR ${system:maven.local.repository}/org/apache/hive/hive-it-test-serde/${system:hive.version}/hive-it-test-serde-${system:hive.version}.jar; diff --git a/ql/src/test/queries/clientpositive/input16_cc.q b/ql/src/test/queries/clientpositive/input16_cc.q index 9272a92..e25721b 100644 --- a/ql/src/test/queries/clientpositive/input16_cc.q +++ b/ql/src/test/queries/clientpositive/input16_cc.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- TestSerDe is a user defined serde where the default delimiter is Ctrl-B diff --git a/ql/src/test/queries/clientpositive/input17.q b/ql/src/test/queries/clientpositive/input17.q index d348c40..9dd7eb5 100644 --- a/ql/src/test/queries/clientpositive/input17.q +++ b/ql/src/test/queries/clientpositive/input17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input18.q b/ql/src/test/queries/clientpositive/input18.q index 280fb7b..0482813 100644 --- a/ql/src/test/queries/clientpositive/input18.q +++ b/ql/src/test/queries/clientpositive/input18.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap INSERT OVERWRITE TABLE dest1 SELECT tmap.key, regexp_replace(tmap.value,'\t','+') WHERE tmap.key < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap diff --git a/ql/src/test/queries/clientpositive/input19.q b/ql/src/test/queries/clientpositive/input19.q index 3dc7fec..945fc16 100644 --- a/ql/src/test/queries/clientpositive/input19.q +++ b/ql/src/test/queries/clientpositive/input19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table apachelog(ipaddress STRING,identd STRING,user_name STRING,finishtime STRING,requestline string,returncode INT,size INT) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe' WITH SERDEPROPERTIES ( 'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', 'quote.delim'= '("|\\[|\\])', 'field.delim'=' ', 'serialization.null.format'='-' ) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/apache.access.log' INTO TABLE apachelog; diff --git a/ql/src/test/queries/clientpositive/input1_limit.q b/ql/src/test/queries/clientpositive/input1_limit.q index afea986..60e3b1b 100644 --- a/ql/src/test/queries/clientpositive/input1_limit.q +++ b/ql/src/test/queries/clientpositive/input1_limit.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; CREATE TABLE dest2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key < 100 LIMIT 5; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 10 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 5; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT src.key, src.value WHERE src.key < 100 LIMIT 10 -INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key < 100 LIMIT 5; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 10 +INSERT OVERWRITE TABLE dest2 SELECT `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 LIMIT 5; SELECT dest1.* FROM dest1; SELECT dest2.* FROM dest2; diff --git a/ql/src/test/queries/clientpositive/input2.q b/ql/src/test/queries/clientpositive/input2.q index 0069385..3250bc8 100644 --- a/ql/src/test/queries/clientpositive/input2.q +++ b/ql/src/test/queries/clientpositive/input2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TEST2a(A INT, B DOUBLE) STORED AS TEXTFILE; DESCRIBE TEST2a; DESC TEST2a; diff --git a/ql/src/test/queries/clientpositive/input20.q b/ql/src/test/queries/clientpositive/input20.q index ff430ab..7ee7c23 100644 --- a/ql/src/test/queries/clientpositive/input20.q +++ b/ql/src/test/queries/clientpositive/input20.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; ADD FILE ../../data/scripts/input20_script.py; EXPLAIN FROM ( - FROM src - MAP src.key, src.key + FROM `s/c` + MAP `s/c`.key, `s/c`.key USING 'cat' DISTRIBUTE BY key SORT BY key, value @@ -16,8 +50,8 @@ USING 'python input20_script.py' AS key, value; FROM ( - FROM src - MAP src.key, src.key + FROM `s/c` + MAP `s/c`.key, `s/c`.key USING 'cat' DISTRIBUTE BY key SORT BY key, value diff --git a/ql/src/test/queries/clientpositive/input21.q b/ql/src/test/queries/clientpositive/input21.q index 43cd01e..4a38705 100644 --- a/ql/src/test/queries/clientpositive/input21.q +++ b/ql/src/test/queries/clientpositive/input21.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE src_null(a STRING, b STRING, c STRING, d STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/input22.q b/ql/src/test/queries/clientpositive/input22.q index 8803e4d..2da2bc3 100644 --- a/ql/src/test/queries/clientpositive/input22.q +++ b/ql/src/test/queries/clientpositive/input22.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE INPUT4(KEY STRING, VALUE STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE INPUT4; diff --git a/ql/src/test/queries/clientpositive/input23.q b/ql/src/test/queries/clientpositive/input23.q index 634699a..20a5a64 100644 --- a/ql/src/test/queries/clientpositive/input23.q +++ b/ql/src/test/queries/clientpositive/input23.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain extended - select * from srcpart a join srcpart b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5; + select * from `s/cpart` a join `s/cpart` b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5; -select * from srcpart a join srcpart b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5; +select * from `s/cpart` a join `s/cpart` b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5; diff --git a/ql/src/test/queries/clientpositive/input24.q b/ql/src/test/queries/clientpositive/input24.q index 95b2377..558ceb0 100644 --- a/ql/src/test/queries/clientpositive/input24.q +++ b/ql/src/test/queries/clientpositive/input24.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tst(a int, b int) partitioned by (d string); alter table tst add partition (d='2009-01-01'); diff --git a/ql/src/test/queries/clientpositive/input25.q b/ql/src/test/queries/clientpositive/input25.q index 202bea2..3378382 100644 --- a/ql/src/test/queries/clientpositive/input25.q +++ b/ql/src/test/queries/clientpositive/input25.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tst(a int, b int) partitioned by (d string); alter table tst add partition (d='2009-01-01'); diff --git a/ql/src/test/queries/clientpositive/input26.q b/ql/src/test/queries/clientpositive/input26.q index 81af75a..a13e4c4 100644 --- a/ql/src/test/queries/clientpositive/input26.q +++ b/ql/src/test/queries/clientpositive/input26.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select * from ( - select * from (select * from srcpart a where a.ds = '2008-04-08' and a.hr = '11' order by a.key limit 5)pa + select * from (select * from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' order by a.key limit 5)pa union all - select * from (select * from srcpart b where b.ds = '2008-04-08' and b.hr = '14' limit 5)pb + select * from (select * from `s/cpart` b where b.ds = '2008-04-08' and b.hr = '14' limit 5)pb )subq; select * from ( - select * from (select * from srcpart a where a.ds = '2008-04-08' and a.hr = '11' order by a.key limit 5)pa + select * from (select * from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' order by a.key limit 5)pa union all - select * from (select * from srcpart b where b.ds = '2008-04-08' and b.hr = '14' limit 5)pb + select * from (select * from `s/cpart` b where b.ds = '2008-04-08' and b.hr = '14' limit 5)pb )subq; diff --git a/ql/src/test/queries/clientpositive/input28.q b/ql/src/test/queries/clientpositive/input28.q index 12e857d..7011ee9 100644 --- a/ql/src/test/queries/clientpositive/input28.q +++ b/ql/src/test/queries/clientpositive/input28.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tst(a string, b string) partitioned by (d string); alter table tst add partition (d='2009-01-01'); insert overwrite table tst partition(d='2009-01-01') -select tst.a, src.value from tst join src ON (tst.a = src.key); +select tst.a, `s/c`.value from tst join `s/c` ON (tst.a = `s/c`.key); select * from tst where tst.d='2009-01-01'; diff --git a/ql/src/test/queries/clientpositive/input2_limit.q b/ql/src/test/queries/clientpositive/input2_limit.q index 8104510..b2682db 100644 --- a/ql/src/test/queries/clientpositive/input2_limit.q +++ b/ql/src/test/queries/clientpositive/input2_limit.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRC x WHERE x.key < 300 LIMIT 5; +SELECT x.* FROM `s/c` x WHERE x.key < 300 LIMIT 5; -SELECT x.* FROM SRC x WHERE x.key < 300 LIMIT 5; +SELECT x.* FROM `s/c` x WHERE x.key < 300 LIMIT 5; diff --git a/ql/src/test/queries/clientpositive/input3.q b/ql/src/test/queries/clientpositive/input3.q index 2efa7a4..305ec4d 100644 --- a/ql/src/test/queries/clientpositive/input3.q +++ b/ql/src/test/queries/clientpositive/input3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/input30.q b/ql/src/test/queries/clientpositive/input30.q index c84c131..7e603e6 100644 --- a/ql/src/test/queries/clientpositive/input30.q +++ b/ql/src/test/queries/clientpositive/input30.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + @@ -10,10 +44,10 @@ set hive.test.mode.prefix=tst_; explain insert overwrite table dest30 -select count(1) from src; +select count(1) from `s/c`; insert overwrite table dest30 -select count(1) from src; +select count(1) from `s/c`; set hive.test.mode=false; diff --git a/ql/src/test/queries/clientpositive/input31.q b/ql/src/test/queries/clientpositive/input31.q index ece9409..1afc0b5 100644 --- a/ql/src/test/queries/clientpositive/input31.q +++ b/ql/src/test/queries/clientpositive/input31.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/input32.q b/ql/src/test/queries/clientpositive/input32.q index cdc04b8..85b0391 100644 --- a/ql/src/test/queries/clientpositive/input32.q +++ b/ql/src/test/queries/clientpositive/input32.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=tst_; -set hive.test.mode.nosamplelist=src,srcbucket; +set hive.test.mode.nosamplelist=`s/c`,srcbucket; create table dest32(a int); create table tst_dest32(a int); diff --git a/ql/src/test/queries/clientpositive/input33.q b/ql/src/test/queries/clientpositive/input33.q index 8b6b215..fd4394a 100644 --- a/ql/src/test/queries/clientpositive/input33.q +++ b/ql/src/test/queries/clientpositive/input33.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; ADD FILE ../../data/scripts/input20_script.py; EXPLAIN FROM ( - FROM src - MAP src.key, src.key + FROM `s/c` + MAP `s/c`.key, `s/c`.key USING 'cat' DISTRIBUTE BY key SORT BY key, value @@ -16,8 +50,8 @@ USING 'python input20_script.py' AS (key STRING, value STRING); FROM ( - FROM src - MAP src.key, src.key + FROM `s/c` + MAP `s/c`.key, `s/c`.key USING 'cat' DISTRIBUTE BY key SORT BY key, value diff --git a/ql/src/test/queries/clientpositive/input34.q b/ql/src/test/queries/clientpositive/input34.q index c600bf5..6cae735 100644 --- a/ql/src/test/queries/clientpositive/input34.q +++ b/ql/src/test/queries/clientpositive/input34.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (tkey, tvalue) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' ) tmap INSERT OVERWRITE TABLE dest1 SELECT tkey, tvalue; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' USING 'cat' AS (tkey, tvalue) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' ) tmap diff --git a/ql/src/test/queries/clientpositive/input35.q b/ql/src/test/queries/clientpositive/input35.q index 5e37ea3..8b69884 100644 --- a/ql/src/test/queries/clientpositive/input35.q +++ b/ql/src/test/queries/clientpositive/input35.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' USING 'cat' AS (tkey, tvalue) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' ) tmap INSERT OVERWRITE TABLE dest1 SELECT tkey, tvalue; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' USING 'cat' AS (tkey, tvalue) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' ) tmap diff --git a/ql/src/test/queries/clientpositive/input36.q b/ql/src/test/queries/clientpositive/input36.q index fd1968f..98bcfe7 100644 --- a/ql/src/test/queries/clientpositive/input36.q +++ b/ql/src/test/queries/clientpositive/input36.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' USING 'cat' AS (tkey, tvalue) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\003' ) tmap INSERT OVERWRITE TABLE dest1 SELECT tkey, tvalue; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' USING 'cat' AS (tkey, tvalue) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\003' ) tmap diff --git a/ql/src/test/queries/clientpositive/input37.q b/ql/src/test/queries/clientpositive/input37.q index 6ded61a..7ba8650 100644 --- a/ql/src/test/queries/clientpositive/input37.q +++ b/ql/src/test/queries/clientpositive/input37.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table documents(contents string) stored as textfile; LOAD DATA LOCAL INPATH '../../data/files/docurl.txt' INTO TABLE documents; diff --git a/ql/src/test/queries/clientpositive/input38.q b/ql/src/test/queries/clientpositive/input38.q index 1ccc5f2..d19ba00 100644 --- a/ql/src/test/queries/clientpositive/input38.q +++ b/ql/src/test/queries/clientpositive/input38.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key STRING, value STRING) STORED AS TEXTFILE; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' ) tmap INSERT OVERWRITE TABLE dest1 SELECT tmap.key, tmap.value; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' ) tmap INSERT OVERWRITE TABLE dest1 SELECT tmap.key, tmap.value; diff --git a/ql/src/test/queries/clientpositive/input39.q b/ql/src/test/queries/clientpositive/input39.q index 471736b..6fe9ad4 100644 --- a/ql/src/test/queries/clientpositive/input39.q +++ b/ql/src/test/queries/clientpositive/input39.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- EXCLUDE_HADOOP_MAJOR_VERSIONS( 0.20S) @@ -5,13 +39,13 @@ create table t1(key string, value string) partitioned by (ds string); create table t2(key string, value string) partitioned by (ds string); insert overwrite table t1 partition (ds='1') -select key, value from src; +select key, value from `s/c`; insert overwrite table t1 partition (ds='2') -select key, value from src; +select key, value from `s/c`; insert overwrite table t2 partition (ds='1') -select key, value from src; +select key, value from `s/c`; set hive.test.mode=true; set hive.mapred.mode=strict; diff --git a/ql/src/test/queries/clientpositive/input39_hadoop20.q b/ql/src/test/queries/clientpositive/input39_hadoop20.q index 29e9fae..73b840a 100644 --- a/ql/src/test/queries/clientpositive/input39_hadoop20.q +++ b/ql/src/test/queries/clientpositive/input39_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20, 0.20S) @@ -5,13 +39,13 @@ create table t1(key string, value string) partitioned by (ds string); create table t2(key string, value string) partitioned by (ds string); insert overwrite table t1 partition (ds='1') -select key, value from src; +select key, value from `s/c`; insert overwrite table t1 partition (ds='2') -select key, value from src; +select key, value from `s/c`; insert overwrite table t2 partition (ds='1') -select key, value from src; +select key, value from `s/c`; set hive.test.mode=true; set hive.mapred.mode=strict; diff --git a/ql/src/test/queries/clientpositive/input3_limit.q b/ql/src/test/queries/clientpositive/input3_limit.q index f983aca..4f7dd52 100644 --- a/ql/src/test/queries/clientpositive/input3_limit.q +++ b/ql/src/test/queries/clientpositive/input3_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key STRING, value STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE T1; diff --git a/ql/src/test/queries/clientpositive/input4.q b/ql/src/test/queries/clientpositive/input4.q index 83edbe2..1a6f699 100644 --- a/ql/src/test/queries/clientpositive/input4.q +++ b/ql/src/test/queries/clientpositive/input4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- JAVA_VERSION_SPECIFIC_OUTPUT CREATE TABLE INPUT4(KEY STRING, VALUE STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/input40.q b/ql/src/test/queries/clientpositive/input40.q index 85c4171..e26bbdc 100644 --- a/ql/src/test/queries/clientpositive/input40.q +++ b/ql/src/test/queries/clientpositive/input40.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table tmp_insert_test (key string, value string) stored as textfile; diff --git a/ql/src/test/queries/clientpositive/input41.q b/ql/src/test/queries/clientpositive/input41.q index 5bc396e..3bb7d4f 100644 --- a/ql/src/test/queries/clientpositive/input41.q +++ b/ql/src/test/queries/clientpositive/input41.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.mode=strict; create table dest_sp (cnt int); insert overwrite table dest_sp select * from - (select count(1) as cnt from src + (select count(1) as cnt from `s/c` union all - select count(1) as cnt from srcpart where ds = '2009-08-09' + select count(1) as cnt from `s/cpart` where ds = '2009-08-09' )x; select * from dest_sp x order by x.cnt limit 2; diff --git a/ql/src/test/queries/clientpositive/input42.q b/ql/src/test/queries/clientpositive/input42.q index 85d66d3..8a11b5f 100644 --- a/ql/src/test/queries/clientpositive/input42.q +++ b/ql/src/test/queries/clientpositive/input42.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS explain extended -select * from srcpart a where a.ds='2008-04-08'; +select * from `s/cpart` a where a.ds='2008-04-08'; -select * from srcpart a where a.ds='2008-04-08'; +select * from `s/cpart` a where a.ds='2008-04-08'; explain extended -select * from srcpart a where a.ds='2008-04-08' and key < 200; +select * from `s/cpart` a where a.ds='2008-04-08' and key < 200; -select * from srcpart a where a.ds='2008-04-08' and key < 200; +select * from `s/cpart` a where a.ds='2008-04-08' and key < 200; explain extended -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1; +select * from `s/cpart` a where a.ds='2008-04-08' and rand(100) < 0.1; -select * from srcpart a where a.ds='2008-04-08' and rand(100) < 0.1; +select * from `s/cpart` a where a.ds='2008-04-08' and rand(100) < 0.1; diff --git a/ql/src/test/queries/clientpositive/input43.q b/ql/src/test/queries/clientpositive/input43.q index 3182bbe..7f66e9f 100644 --- a/ql/src/test/queries/clientpositive/input43.q +++ b/ql/src/test/queries/clientpositive/input43.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table tst_src1; create table tst_src1 like src1; load data local inpath '../../data/files/kv1.txt' into table tst_src1 ; diff --git a/ql/src/test/queries/clientpositive/input44.q b/ql/src/test/queries/clientpositive/input44.q index 2e975e5..aff9500 100644 --- a/ql/src/test/queries/clientpositive/input44.q +++ b/ql/src/test/queries/clientpositive/input44.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest(key INT, value STRING) STORED AS TEXTFILE; SET hive.output.file.extension=.txt; -INSERT OVERWRITE TABLE dest SELECT src.* FROM src; +INSERT OVERWRITE TABLE dest SELECT `s/c`.* FROM `s/c`; dfs -cat ${system:test.warehouse.dir}/dest/*.txt diff --git a/ql/src/test/queries/clientpositive/input45.q b/ql/src/test/queries/clientpositive/input45.q index 334da26..8fe7d94 100644 --- a/ql/src/test/queries/clientpositive/input45.q +++ b/ql/src/test/queries/clientpositive/input45.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.insert.into.multilevel.dirs=true; SET hive.output.file.extension=.txt; -INSERT OVERWRITE DIRECTORY 'target/data/x/y/z/' SELECT src.* FROM src; +INSERT OVERWRITE DIRECTORY 'target/data/x/y/z/' SELECT `s/c`.* FROM `s/c`; dfs -cat ${system:build.dir}/data/x/y/z/*.txt; diff --git a/ql/src/test/queries/clientpositive/input46.q b/ql/src/test/queries/clientpositive/input46.q index ab863dc..efa7932 100644 --- a/ql/src/test/queries/clientpositive/input46.q +++ b/ql/src/test/queries/clientpositive/input46.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database if not exists table_in_database_creation; -create table table_in_database_creation.test1 as select * from src limit 1; -create table `table_in_database_creation`.`test2` as select * from src limit 1; +create table table_in_database_creation.test1 as select * from `s/c` limit 1; +create table `table_in_database_creation`.`test2` as select * from `s/c` limit 1; create table table_in_database_creation.test3 (a string); create table `table_in_database_creation`.`test4` (a string); drop database table_in_database_creation cascade; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/input49.q b/ql/src/test/queries/clientpositive/input49.q index 53fa51a..fe622df 100644 --- a/ql/src/test/queries/clientpositive/input49.q +++ b/ql/src/test/queries/clientpositive/input49.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table intable (b boolean, d double, f float, i int, l bigint, s string, t tinyint); -insert overwrite table intable select 0, 29098519.0, 1410.0, 996, 40408519555, "test_string", 12 from src limit 1; +insert overwrite table intable select 0, 29098519.0, 1410.0, 996, 40408519555, "test_string", 12 from `s/c` limit 1; select * from intable where d in (29098519.0) and f in (1410.0) and i in (996) and l in (40408519555) and s in ('test_string') and t in (12); drop table intable; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/input4_cb_delim.q b/ql/src/test/queries/clientpositive/input4_cb_delim.q index b18d60a..f961123 100644 --- a/ql/src/test/queries/clientpositive/input4_cb_delim.q +++ b/ql/src/test/queries/clientpositive/input4_cb_delim.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE INPUT4_CB(KEY STRING, VALUE STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' LINES TERMINATED BY '\012' STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1_cb.txt' INTO TABLE INPUT4_CB; SELECT INPUT4_CB.VALUE, INPUT4_CB.KEY FROM INPUT4_CB; diff --git a/ql/src/test/queries/clientpositive/input4_limit.q b/ql/src/test/queries/clientpositive/input4_limit.q index e6e3c46..6147ab5 100644 --- a/ql/src/test/queries/clientpositive/input4_limit.q +++ b/ql/src/test/queries/clientpositive/input4_limit.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select * from src sort by key limit 10; +select * from `s/c` sort by key limit 10; -select * from src sort by key limit 10; +select * from `s/c` sort by key limit 10; diff --git a/ql/src/test/queries/clientpositive/input5.q b/ql/src/test/queries/clientpositive/input5.q index 2af9163..b307676 100644 --- a/ql/src/test/queries/clientpositive/input5.q +++ b/ql/src/test/queries/clientpositive/input5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key STRING, value STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input6.q b/ql/src/test/queries/clientpositive/input6.q index 4f2f17e..666c4d9 100644 --- a/ql/src/test/queries/clientpositive/input6.q +++ b/ql/src/test/queries/clientpositive/input6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key STRING, value STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input7.q b/ql/src/test/queries/clientpositive/input7.q index f2e1ed0..10f89b6 100644 --- a/ql/src/test/queries/clientpositive/input7.q +++ b/ql/src/test/queries/clientpositive/input7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 DOUBLE, c2 INT) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input8.q b/ql/src/test/queries/clientpositive/input8.q index 66252a9..98bc05b 100644 --- a/ql/src/test/queries/clientpositive/input8.q +++ b/ql/src/test/queries/clientpositive/input8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING, c2 INT, c3 DOUBLE) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input9.q b/ql/src/test/queries/clientpositive/input9.q index ded20a8..6ef5848 100644 --- a/ql/src/test/queries/clientpositive/input9.q +++ b/ql/src/test/queries/clientpositive/input9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(value STRING, key INT) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input_columnarserde.q b/ql/src/test/queries/clientpositive/input_columnarserde.q index 9394382..792d1f1 100644 --- a/ql/src/test/queries/clientpositive/input_columnarserde.q +++ b/ql/src/test/queries/clientpositive/input_columnarserde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE input_columnarserde(a array, b array, c map, d int, e string) ROW FORMAT SERDE diff --git a/ql/src/test/queries/clientpositive/input_dfs.q b/ql/src/test/queries/clientpositive/input_dfs.q index b108cbd..149ab12 100644 --- a/ql/src/test/queries/clientpositive/input_dfs.q +++ b/ql/src/test/queries/clientpositive/input_dfs.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs -cat ../../data/files/kv1.txt; diff --git a/ql/src/test/queries/clientpositive/input_dynamicserde.q b/ql/src/test/queries/clientpositive/input_dynamicserde.q index 1437742..63ed024 100644 --- a/ql/src/test/queries/clientpositive/input_dynamicserde.q +++ b/ql/src/test/queries/clientpositive/input_dynamicserde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(a array, b array, c map, d int, e string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' diff --git a/ql/src/test/queries/clientpositive/input_lazyserde.q b/ql/src/test/queries/clientpositive/input_lazyserde.q index 74d7a2a..205cbb6 100644 --- a/ql/src/test/queries/clientpositive/input_lazyserde.q +++ b/ql/src/test/queries/clientpositive/input_lazyserde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DROP TABLE dest1; diff --git a/ql/src/test/queries/clientpositive/input_limit.q b/ql/src/test/queries/clientpositive/input_limit.q index 6d4363e..500a46d 100644 --- a/ql/src/test/queries/clientpositive/input_limit.q +++ b/ql/src/test/queries/clientpositive/input_limit.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRC x LIMIT 20; +SELECT x.* FROM `s/c` x LIMIT 20; -SELECT x.* FROM SRC x LIMIT 20; +SELECT x.* FROM `s/c` x LIMIT 20; diff --git a/ql/src/test/queries/clientpositive/input_part0.q b/ql/src/test/queries/clientpositive/input_part0.q index e5526e5..25dee00 100644 --- a/ql/src/test/queries/clientpositive/input_part0.q +++ b/ql/src/test/queries/clientpositive/input_part0.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08'; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08'; -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08'; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/input_part1.q b/ql/src/test/queries/clientpositive/input_part1.q index b9a210c..99e69f6 100644 --- a/ql/src/test/queries/clientpositive/input_part1.q +++ b/ql/src/test/queries/clientpositive/input_part1.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING, hr STRING, ds STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart -INSERT OVERWRITE TABLE dest1 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-08' and srcpart.hr = '12'; +FROM `s/cpart` +INSERT OVERWRITE TABLE dest1 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-08' and `s/cpart`.hr = '12'; -FROM srcpart -INSERT OVERWRITE TABLE dest1 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-08' and srcpart.hr = '12'; +FROM `s/cpart` +INSERT OVERWRITE TABLE dest1 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-08' and `s/cpart`.hr = '12'; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/input_part10.q b/ql/src/test/queries/clientpositive/input_part10.q index b0698b9..3e1f05a 100644 --- a/ql/src/test/queries/clientpositive/input_part10.q +++ b/ql/src/test/queries/clientpositive/input_part10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic @@ -11,10 +45,10 @@ CREATE TABLE part_special ( EXPLAIN INSERT OVERWRITE TABLE part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455') -SELECT 1, 2 FROM src LIMIT 1; +SELECT 1, 2 FROM `s/c` LIMIT 1; INSERT OVERWRITE TABLE part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455') -SELECT 1, 2 FROM src LIMIT 1; +SELECT 1, 2 FROM `s/c` LIMIT 1; DESCRIBE EXTENDED part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455'); diff --git a/ql/src/test/queries/clientpositive/input_part10_win.q b/ql/src/test/queries/clientpositive/input_part10_win.q index 0f179ec..bd70f3f 100644 --- a/ql/src/test/queries/clientpositive/input_part10_win.q +++ b/ql/src/test/queries/clientpositive/input_part10_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_OS_WINDOWS -- included only on windows because of difference in file name encoding logic @@ -11,10 +45,10 @@ CREATE TABLE part_special ( EXPLAIN INSERT OVERWRITE TABLE part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455') -SELECT 1, 2 FROM src LIMIT 1; +SELECT 1, 2 FROM `s/c` LIMIT 1; INSERT OVERWRITE TABLE part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455') -SELECT 1, 2 FROM src LIMIT 1; +SELECT 1, 2 FROM `s/c` LIMIT 1; DESCRIBE EXTENDED part_special PARTITION(ds='2008 04 08', ts = '10:11:12=455'); diff --git a/ql/src/test/queries/clientpositive/input_part2.q b/ql/src/test/queries/clientpositive/input_part2.q index aff02e3..8b16f04 100644 --- a/ql/src/test/queries/clientpositive/input_part2.q +++ b/ql/src/test/queries/clientpositive/input_part2.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING, hr STRING, ds STRING) STORED AS TEXTFILE; CREATE TABLE dest2(key INT, value STRING, hr STRING, ds STRING) STORED AS TEXTFILE; -- SORT_QUERY_RESULTS EXPLAIN EXTENDED -FROM srcpart -INSERT OVERWRITE TABLE dest1 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-08' and srcpart.hr = '12' -INSERT OVERWRITE TABLE dest2 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-09' and srcpart.hr = '12'; +FROM `s/cpart` +INSERT OVERWRITE TABLE dest1 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-08' and `s/cpart`.hr = '12' +INSERT OVERWRITE TABLE dest2 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-09' and `s/cpart`.hr = '12'; -FROM srcpart -INSERT OVERWRITE TABLE dest1 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-08' and srcpart.hr = '12' -INSERT OVERWRITE TABLE dest2 SELECT srcpart.key, srcpart.value, srcpart.hr, srcpart.ds WHERE srcpart.key < 100 and srcpart.ds = '2008-04-09' and srcpart.hr = '12'; +FROM `s/cpart` +INSERT OVERWRITE TABLE dest1 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-08' and `s/cpart`.hr = '12' +INSERT OVERWRITE TABLE dest2 SELECT `s/cpart`.key, `s/cpart`.value, `s/cpart`.hr, `s/cpart`.ds WHERE `s/cpart`.key < 100 and `s/cpart`.ds = '2008-04-09' and `s/cpart`.hr = '12'; SELECT dest1.* FROM dest1 sort by key,value,ds,hr; SELECT dest2.* FROM dest2 sort by key,value,ds,hr; diff --git a/ql/src/test/queries/clientpositive/input_part3.q b/ql/src/test/queries/clientpositive/input_part3.q index ea1d2b2..0a52e8f 100644 --- a/ql/src/test/queries/clientpositive/input_part3.q +++ b/ql/src/test/queries/clientpositive/input_part3.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.hr = 11; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.hr = 11; -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.hr = 11; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.hr = 11; diff --git a/ql/src/test/queries/clientpositive/input_part4.q b/ql/src/test/queries/clientpositive/input_part4.q index 71f27be..4c5dc3e 100644 --- a/ql/src/test/queries/clientpositive/input_part4.q +++ b/ql/src/test/queries/clientpositive/input_part4.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.hr = 15; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.hr = 15; -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.hr = 15; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.hr = 15; diff --git a/ql/src/test/queries/clientpositive/input_part5.q b/ql/src/test/queries/clientpositive/input_part5.q index ea9f70b..823e991 100644 --- a/ql/src/test/queries/clientpositive/input_part5.q +++ b/ql/src/test/queries/clientpositive/input_part5.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tmptable(key string, value string, hr string, ds string); EXPLAIN insert overwrite table tmptable -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.key < 100; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.key < 100; insert overwrite table tmptable -SELECT x.* FROM SRCPART x WHERE x.ds = '2008-04-08' and x.key < 100; +SELECT x.* FROM `s/cpart` x WHERE x.ds = '2008-04-08' and x.key < 100; select * from tmptable x sort by x.key,x.value,x.ds,x.hr; diff --git a/ql/src/test/queries/clientpositive/input_part6.q b/ql/src/test/queries/clientpositive/input_part6.q index a60c7ac..512b8a2 100644 --- a/ql/src/test/queries/clientpositive/input_part6.q +++ b/ql/src/test/queries/clientpositive/input_part6.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRCPART x WHERE x.ds = 2008-04-08 LIMIT 10; +SELECT x.* FROM `s/cpart` x WHERE x.ds = 2008-04-08 LIMIT 10; -SELECT x.* FROM SRCPART x WHERE x.ds = 2008-04-08 LIMIT 10; +SELECT x.* FROM `s/cpart` x WHERE x.ds = 2008-04-08 LIMIT 10; diff --git a/ql/src/test/queries/clientpositive/input_part7.q b/ql/src/test/queries/clientpositive/input_part7.q index 10f9336..fafbc0f 100644 --- a/ql/src/test/queries/clientpositive/input_part7.q +++ b/ql/src/test/queries/clientpositive/input_part7.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN EXTENDED SELECT * FROM ( - SELECT X.* FROM SRCPART X WHERE X.ds = '2008-04-08' and X.key < 100 + SELECT X.* FROM `s/cpart` X WHERE X.ds = '2008-04-08' and X.key < 100 UNION ALL - SELECT Y.* FROM SRCPART Y WHERE Y.ds = '2008-04-08' and Y.key < 100 + SELECT Y.* FROM `s/cpart` Y WHERE Y.ds = '2008-04-08' and Y.key < 100 ) A SORT BY A.key, A.value, A.ds, A.hr; SELECT * FROM ( - SELECT X.* FROM SRCPART X WHERE X.ds = '2008-04-08' and X.key < 100 + SELECT X.* FROM `s/cpart` X WHERE X.ds = '2008-04-08' and X.key < 100 UNION ALL - SELECT Y.* FROM SRCPART Y WHERE Y.ds = '2008-04-08' and Y.key < 100 + SELECT Y.* FROM `s/cpart` Y WHERE Y.ds = '2008-04-08' and Y.key < 100 ) A SORT BY A.key, A.value, A.ds, A.hr; diff --git a/ql/src/test/queries/clientpositive/input_part8.q b/ql/src/test/queries/clientpositive/input_part8.q index 6f1c9ec..bcf7f18 100644 --- a/ql/src/test/queries/clientpositive/input_part8.q +++ b/ql/src/test/queries/clientpositive/input_part8.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRCPART x WHERE ds = '2008-04-08' LIMIT 10; +SELECT x.* FROM `s/cpart` x WHERE ds = '2008-04-08' LIMIT 10; -SELECT x.* FROM SRCPART x WHERE ds = '2008-04-08' LIMIT 10; +SELECT x.* FROM `s/cpart` x WHERE ds = '2008-04-08' LIMIT 10; diff --git a/ql/src/test/queries/clientpositive/input_part9.q b/ql/src/test/queries/clientpositive/input_part9.q index 8c2eb56..5a169b1 100644 --- a/ql/src/test/queries/clientpositive/input_part9.q +++ b/ql/src/test/queries/clientpositive/input_part9.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN EXTENDED -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08'; +SELECT x.* FROM `s/cpart` x WHERE key IS NOT NULL AND ds = '2008-04-08'; -SELECT x.* FROM SRCPART x WHERE key IS NOT NULL AND ds = '2008-04-08'; +SELECT x.* FROM `s/cpart` x WHERE key IS NOT NULL AND ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/input_testsequencefile.q b/ql/src/test/queries/clientpositive/input_testsequencefile.q old mode 100755 new mode 100644 index d992688..ed1981f --- a/ql/src/test/queries/clientpositive/input_testsequencefile.q +++ b/ql/src/test/queries/clientpositive/input_testsequencefile.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.output.compress=true; set mapred.output.compression.type=BLOCK; CREATE TABLE dest4_sequencefile(key INT, value STRING) STORED AS SEQUENCEFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest4_sequencefile SELECT src.key, src.value; +FROM `s/c` +INSERT OVERWRITE TABLE dest4_sequencefile SELECT `s/c`.key, `s/c`.value; -FROM src -INSERT OVERWRITE TABLE dest4_sequencefile SELECT src.key, src.value; +FROM `s/c` +INSERT OVERWRITE TABLE dest4_sequencefile SELECT `s/c`.key, `s/c`.value; set mapred.output.compress=false; SELECT dest4_sequencefile.* FROM dest4_sequencefile; diff --git a/ql/src/test/queries/clientpositive/input_testxpath.q b/ql/src/test/queries/clientpositive/input_testxpath.q old mode 100755 new mode 100644 index ed22404..faf7ae8 --- a/ql/src/test/queries/clientpositive/input_testxpath.q +++ b/ql/src/test/queries/clientpositive/input_testxpath.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING, mapvalue STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input_testxpath2.q b/ql/src/test/queries/clientpositive/input_testxpath2.q index 131105b..e0d1696 100644 --- a/ql/src/test/queries/clientpositive/input_testxpath2.q +++ b/ql/src/test/queries/clientpositive/input_testxpath2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(lint_size INT, lintstring_size INT, mstringstring_size INT) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/input_testxpath3.q b/ql/src/test/queries/clientpositive/input_testxpath3.q index 1b57ead..ef11eb9 100644 --- a/ql/src/test/queries/clientpositive/input_testxpath3.q +++ b/ql/src/test/queries/clientpositive/input_testxpath3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN FROM src_thrift SELECT src_thrift.mstringstring['key_9'], src_thrift.lintstring.myint; diff --git a/ql/src/test/queries/clientpositive/input_testxpath4.q b/ql/src/test/queries/clientpositive/input_testxpath4.q index e8e8d2e..d733aa9 100644 --- a/ql/src/test/queries/clientpositive/input_testxpath4.q +++ b/ql/src/test/queries/clientpositive/input_testxpath4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=false; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/inputddl1.q b/ql/src/test/queries/clientpositive/inputddl1.q index b41f0b8..6ba8bb2 100644 --- a/ql/src/test/queries/clientpositive/inputddl1.q +++ b/ql/src/test/queries/clientpositive/inputddl1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE INPUTDDL1(key INT, value STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/inputddl2.q b/ql/src/test/queries/clientpositive/inputddl2.q index e347791..a7f820a 100644 --- a/ql/src/test/queries/clientpositive/inputddl2.q +++ b/ql/src/test/queries/clientpositive/inputddl2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE INPUTDDL2(key INT, value STRING) PARTITIONED BY(ds STRING, country STRING) STORED AS TEXTFILE; CREATE TABLE INPUTDDL2(key INT, value STRING) PARTITIONED BY(ds STRING, country STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/inputddl3.q b/ql/src/test/queries/clientpositive/inputddl3.q index 946cf54..bfa97f3 100644 --- a/ql/src/test/queries/clientpositive/inputddl3.q +++ b/ql/src/test/queries/clientpositive/inputddl3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE INPUTDDL3(key INT, value STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; CREATE TABLE INPUTDDL3(key INT, value STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/inputddl4.q b/ql/src/test/queries/clientpositive/inputddl4.q index 0e07d8d..99b678e 100644 --- a/ql/src/test/queries/clientpositive/inputddl4.q +++ b/ql/src/test/queries/clientpositive/inputddl4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- a simple test to test sorted/clustered syntax CREATE TABLE INPUTDDL4(viewTime STRING, userid INT, diff --git a/ql/src/test/queries/clientpositive/inputddl5.q b/ql/src/test/queries/clientpositive/inputddl5.q index 87c55a2..49db3c4 100644 --- a/ql/src/test/queries/clientpositive/inputddl5.q +++ b/ql/src/test/queries/clientpositive/inputddl5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test for internationalization -- kv4.txt contains the utf-8 character 0xE982B5E993AE which we are verifying later on CREATE TABLE INPUTDDL5(name STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/inputddl6.q b/ql/src/test/queries/clientpositive/inputddl6.q index 6c70939..f6f2fc5 100644 --- a/ql/src/test/queries/clientpositive/inputddl6.q +++ b/ql/src/test/queries/clientpositive/inputddl6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test for describe extended table -- test for describe extended table partition -- test for alter table drop partition diff --git a/ql/src/test/queries/clientpositive/inputddl7.q b/ql/src/test/queries/clientpositive/inputddl7.q index 27e587a..a6a6ed7 100644 --- a/ql/src/test/queries/clientpositive/inputddl7.q +++ b/ql/src/test/queries/clientpositive/inputddl7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test for loading into tables with the correct file format -- test for loading into partitions with the correct file format diff --git a/ql/src/test/queries/clientpositive/inputddl8.q b/ql/src/test/queries/clientpositive/inputddl8.q index 66717a1..8074566 100644 --- a/ql/src/test/queries/clientpositive/inputddl8.q +++ b/ql/src/test/queries/clientpositive/inputddl8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE INPUTDDL8 COMMENT 'This is a thrift based table' PARTITIONED BY(ds STRING, country STRING) diff --git a/ql/src/test/queries/clientpositive/insert0.q b/ql/src/test/queries/clientpositive/insert0.q index 36d01b6..290f2ab 100644 --- a/ql/src/test/queries/clientpositive/insert0.q +++ b/ql/src/test/queries/clientpositive/insert0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; DROP TABLE insert_into1; @@ -6,15 +40,15 @@ DROP TABLE ctas_part; CREATE TABLE insert_into1 (key int, value string); -INSERT OVERWRITE TABLE insert_into1 SELECT * from src ORDER BY key LIMIT 10; +INSERT OVERWRITE TABLE insert_into1 SELECT * from `s/c` ORDER BY key LIMIT 10; select * from insert_into1 order by key; -INSERT INTO TABLE insert_into1 SELECT * from src ORDER BY key DESC LIMIT 10; +INSERT INTO TABLE insert_into1 SELECT * from `s/c` ORDER BY key DESC LIMIT 10; select * from insert_into1 order by key; -create table ctas_table as SELECT key, count(value) as foo from src GROUP BY key LIMIT 10; +create table ctas_table as SELECT key, count(value) as foo from `s/c` GROUP BY key LIMIT 10; describe extended ctas_table; @@ -27,7 +61,7 @@ SET hive.exec.dynamic.partition.mode=nonstrict; create table ctas_part (key int, value string) partitioned by (modkey bigint); insert overwrite table ctas_part partition (modkey) -select key, value, ceil(key / 100) from src where key is not null limit 10; +select key, value, ceil(key / 100) from `s/c` where key is not null limit 10; select * from ctas_part order by key; diff --git a/ql/src/test/queries/clientpositive/insert1.q b/ql/src/test/queries/clientpositive/insert1.q index 4ec6e6c..b0f501c 100644 --- a/ql/src/test/queries/clientpositive/insert1.q +++ b/ql/src/test/queries/clientpositive/insert1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table insert1(key int, value string) stored as textfile; @@ -24,13 +58,13 @@ insert overwrite table x.insert1 select * where key > 10 and key < 20; CREATE DATABASE db2; USE db2; CREATE TABLE result(col1 STRING); -INSERT OVERWRITE TABLE result SELECT 'db2_insert1' FROM default.src LIMIT 1; -INSERT INTO TABLE result SELECT 'db2_insert2' FROM default.src LIMIT 1; +INSERT OVERWRITE TABLE result SELECT 'db2_insert1' FROM default.`s/c` LIMIT 1; +INSERT INTO TABLE result SELECT 'db2_insert2' FROM default.`s/c` LIMIT 1; SELECT * FROM result; USE default; CREATE DATABASE db1; CREATE TABLE db1.result(col1 STRING); -INSERT OVERWRITE TABLE db1.result SELECT 'db1_insert1' FROM src LIMIT 1; -INSERT INTO TABLE db1.result SELECT 'db1_insert2' FROM src LIMIT 1; +INSERT OVERWRITE TABLE db1.result SELECT 'db1_insert1' FROM `s/c` LIMIT 1; +INSERT INTO TABLE db1.result SELECT 'db1_insert2' FROM `s/c` LIMIT 1; SELECT * FROM db1.result; diff --git a/ql/src/test/queries/clientpositive/insert1_overwrite_partitions.q b/ql/src/test/queries/clientpositive/insert1_overwrite_partitions.q index 6b00f97..a22b708 100644 --- a/ql/src/test/queries/clientpositive/insert1_overwrite_partitions.q +++ b/ql/src/test/queries/clientpositive/insert1_overwrite_partitions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE sourceTable (one string,two string) PARTITIONED BY (ds string,hr string); load data local inpath '../../data/files/kv1.txt' INTO TABLE sourceTable partition(ds='2011-11-11', hr='11'); diff --git a/ql/src/test/queries/clientpositive/insert2_overwrite_partitions.q b/ql/src/test/queries/clientpositive/insert2_overwrite_partitions.q index bd1eb75..172fa97 100644 --- a/ql/src/test/queries/clientpositive/insert2_overwrite_partitions.q +++ b/ql/src/test/queries/clientpositive/insert2_overwrite_partitions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE db1; CREATE DATABASE db2; diff --git a/ql/src/test/queries/clientpositive/insert_acid_dynamic_partition.q b/ql/src/test/queries/clientpositive/insert_acid_dynamic_partition.q index c544589..d28ead9 100644 --- a/ql/src/test/queries/clientpositive/insert_acid_dynamic_partition.q +++ b/ql/src/test/queries/clientpositive/insert_acid_dynamic_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_acid_not_bucketed.q b/ql/src/test/queries/clientpositive/insert_acid_not_bucketed.q index a29b1e7..669529e 100644 --- a/ql/src/test/queries/clientpositive/insert_acid_not_bucketed.q +++ b/ql/src/test/queries/clientpositive/insert_acid_not_bucketed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_compressed.q b/ql/src/test/queries/clientpositive/insert_compressed.q index 8f1201c..2644fbd 100644 --- a/ql/src/test/queries/clientpositive/insert_compressed.q +++ b/ql/src/test/queries/clientpositive/insert_compressed.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.compress.output=true; drop table insert_compressed; create table insert_compressed (key int, value string); -insert overwrite table insert_compressed select * from src; +insert overwrite table insert_compressed select * from `s/c`; select count(*) from insert_compressed; -insert into table insert_compressed select * from src; +insert into table insert_compressed select * from `s/c`; select count(*) from insert_compressed; -insert into table insert_compressed select * from src; +insert into table insert_compressed select * from `s/c`; select count(*) from insert_compressed; drop table insert_compressed; diff --git a/ql/src/test/queries/clientpositive/insert_into1.q b/ql/src/test/queries/clientpositive/insert_into1.q index 1b7db5c..450fc19 100644 --- a/ql/src/test/queries/clientpositive/insert_into1.q +++ b/ql/src/test/queries/clientpositive/insert_into1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.compute.query.using.stats=true; @@ -7,16 +41,16 @@ DROP TABLE insert_into1; CREATE TABLE insert_into1 (key int, value string); -EXPLAIN INSERT INTO TABLE insert_into1 SELECT * from src ORDER BY key LIMIT 100; -INSERT INTO TABLE insert_into1 SELECT * from src ORDER BY key LIMIT 100; +EXPLAIN INSERT INTO TABLE insert_into1 SELECT * from `s/c` ORDER BY key LIMIT 100; +INSERT INTO TABLE insert_into1 SELECT * from `s/c` ORDER BY key LIMIT 100; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into1 ) t; explain select count(*) from insert_into1; select count(*) from insert_into1; -EXPLAIN INSERT INTO TABLE insert_into1 SELECT * FROM src ORDER BY key LIMIT 100; -INSERT INTO TABLE insert_into1 SELECT * FROM src ORDER BY key LIMIT 100; +EXPLAIN INSERT INTO TABLE insert_into1 SELECT * FROM `s/c` ORDER BY key LIMIT 100; +INSERT INTO TABLE insert_into1 SELECT * FROM `s/c` ORDER BY key LIMIT 100; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into1 ) t; @@ -25,8 +59,8 @@ explain SELECT COUNT(*) FROM insert_into1; select count(*) from insert_into1; -EXPLAIN INSERT OVERWRITE TABLE insert_into1 SELECT * FROM src ORDER BY key LIMIT 10; -INSERT OVERWRITE TABLE insert_into1 SELECT * FROM src ORDER BY key LIMIT 10; +EXPLAIN INSERT OVERWRITE TABLE insert_into1 SELECT * FROM `s/c` ORDER BY key LIMIT 10; +INSERT OVERWRITE TABLE insert_into1 SELECT * FROM `s/c` ORDER BY key LIMIT 10; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into1 ) t; diff --git a/ql/src/test/queries/clientpositive/insert_into2.q b/ql/src/test/queries/clientpositive/insert_into2.q index 7183c75..0ea95a2 100644 --- a/ql/src/test/queries/clientpositive/insert_into2.q +++ b/ql/src/test/queries/clientpositive/insert_into2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.compute.query.using.stats=true; DROP TABLE insert_into2; @@ -5,12 +39,12 @@ CREATE TABLE insert_into2 (key int, value string) PARTITIONED BY (ds string); EXPLAIN INSERT INTO TABLE insert_into2 PARTITION (ds='1') - SELECT * FROM src order by key LIMIT 100; -INSERT INTO TABLE insert_into2 PARTITION (ds='1') SELECT * FROM src order by key limit 100; + SELECT * FROM `s/c` order by key LIMIT 100; +INSERT INTO TABLE insert_into2 PARTITION (ds='1') SELECT * FROM `s/c` order by key limit 100; explain select count (*) from insert_into2 where ds = '1'; select count (*) from insert_into2 where ds = '1'; -INSERT INTO TABLE insert_into2 PARTITION (ds='1') SELECT * FROM src order by key limit 100; +INSERT INTO TABLE insert_into2 PARTITION (ds='1') SELECT * FROM `s/c` order by key limit 100; explain SELECT COUNT(*) FROM insert_into2 WHERE ds='1'; SELECT COUNT(*) FROM insert_into2 WHERE ds='1'; @@ -19,9 +53,9 @@ SELECT SUM(HASH(c)) FROM ( ) t; EXPLAIN INSERT OVERWRITE TABLE insert_into2 PARTITION (ds='2') - SELECT * FROM src order by key LIMIT 100; + SELECT * FROM `s/c` order by key LIMIT 100; INSERT OVERWRITE TABLE insert_into2 PARTITION (ds='2') - SELECT * FROM src order by key LIMIT 100; + SELECT * FROM `s/c` order by key LIMIT 100; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into2 @@ -31,9 +65,9 @@ SELECT COUNT(*) FROM insert_into2 WHERE ds='2'; SELECT COUNT(*) FROM insert_into2 WHERE ds='2'; EXPLAIN INSERT OVERWRITE TABLE insert_into2 PARTITION (ds='2') - SELECT * FROM src order by key LIMIT 50; + SELECT * FROM `s/c` order by key LIMIT 50; INSERT OVERWRITE TABLE insert_into2 PARTITION (ds='2') - SELECT * FROM src order by key LIMIT 50; + SELECT * FROM `s/c` order by key LIMIT 50; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into2 ) t; diff --git a/ql/src/test/queries/clientpositive/insert_into3.q b/ql/src/test/queries/clientpositive/insert_into3.q index 4ff0edc..85b7d0b 100644 --- a/ql/src/test/queries/clientpositive/insert_into3.q +++ b/ql/src/test/queries/clientpositive/insert_into3.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE insert_into3a; DROP TABLE insert_into3b; CREATE TABLE insert_into3a (key int, value string); CREATE TABLE insert_into3b (key int, value string); -EXPLAIN FROM src INSERT INTO TABLE insert_into3a SELECT * ORDER BY key, value LIMIT 50 +EXPLAIN FROM `s/c` INSERT INTO TABLE insert_into3a SELECT * ORDER BY key, value LIMIT 50 INSERT INTO TABLE insert_into3b SELECT * ORDER BY key, value LIMIT 100; -FROM src INSERT INTO TABLE insert_into3a SELECT * ORDER BY key, value LIMIT 50 +FROM `s/c` INSERT INTO TABLE insert_into3a SELECT * ORDER BY key, value LIMIT 50 INSERT INTO TABLE insert_into3b SELECT * ORDER BY key, value LIMIT 100; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into3a @@ -15,9 +49,9 @@ SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into3b ) t; -EXPLAIN FROM src INSERT OVERWRITE TABLE insert_into3a SELECT * LIMIT 10 +EXPLAIN FROM `s/c` INSERT OVERWRITE TABLE insert_into3a SELECT * LIMIT 10 INSERT INTO TABLE insert_into3b SELECT * LIMIT 10; -FROM src INSERT OVERWRITE TABLE insert_into3a SELECT * LIMIT 10 +FROM `s/c` INSERT OVERWRITE TABLE insert_into3a SELECT * LIMIT 10 INSERT INTO TABLE insert_into3b SELECT * LIMIT 10; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into3a diff --git a/ql/src/test/queries/clientpositive/insert_into4.q b/ql/src/test/queries/clientpositive/insert_into4.q index 2afe41d..a436413 100644 --- a/ql/src/test/queries/clientpositive/insert_into4.q +++ b/ql/src/test/queries/clientpositive/insert_into4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.smallfiles.avgsize=16000000; DROP TABLE insert_into4a; @@ -6,14 +40,14 @@ DROP TABLE insert_into4b; CREATE TABLE insert_into4a (key int, value string); CREATE TABLE insert_into4b (key int, value string); -EXPLAIN INSERT INTO TABLE insert_into4a SELECT * FROM src LIMIT 10; -INSERT INTO TABLE insert_into4a SELECT * FROM src LIMIT 10; +EXPLAIN INSERT INTO TABLE insert_into4a SELECT * FROM `s/c` LIMIT 10; +INSERT INTO TABLE insert_into4a SELECT * FROM `s/c` LIMIT 10; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into4a ) t; -EXPLAIN INSERT INTO TABLE insert_into4a SELECT * FROM src LIMIT 10; -INSERT INTO TABLE insert_into4a SELECT * FROM src LIMIT 10; +EXPLAIN INSERT INTO TABLE insert_into4a SELECT * FROM `s/c` LIMIT 10; +INSERT INTO TABLE insert_into4a SELECT * FROM `s/c` LIMIT 10; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into4a ) t; diff --git a/ql/src/test/queries/clientpositive/insert_into5.q b/ql/src/test/queries/clientpositive/insert_into5.q index 07e80ea..4ccd009 100644 --- a/ql/src/test/queries/clientpositive/insert_into5.q +++ b/ql/src/test/queries/clientpositive/insert_into5.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE insert_into5a; DROP TABLE insert_into5b; CREATE TABLE insert_into5a (key int, value string); CREATE TABLE insert_into5b (key int, value string) PARTITIONED BY (ds string); -EXPLAIN INSERT INTO TABLE insert_into5a SELECT 1, 'one' FROM src LIMIT 10; -INSERT INTO TABLE insert_into5a SELECT 1, 'one' FROM src LIMIT 10; +EXPLAIN INSERT INTO TABLE insert_into5a SELECT 1, 'one' FROM `s/c` LIMIT 10; +INSERT INTO TABLE insert_into5a SELECT 1, 'one' FROM `s/c` LIMIT 10; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into5a ) t; diff --git a/ql/src/test/queries/clientpositive/insert_into6.q b/ql/src/test/queries/clientpositive/insert_into6.q index 2b7988e..c75096b 100644 --- a/ql/src/test/queries/clientpositive/insert_into6.q +++ b/ql/src/test/queries/clientpositive/insert_into6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; @@ -7,9 +41,9 @@ CREATE TABLE insert_into6a (key int, value string) PARTITIONED BY (ds string); CREATE TABLE insert_into6b (key int, value string) PARTITIONED BY (ds string); EXPLAIN INSERT INTO TABLE insert_into6a PARTITION (ds='1') - SELECT * FROM src LIMIT 150; -INSERT INTO TABLE insert_into6a PARTITION (ds='1') SELECT * FROM src LIMIT 150; -INSERT INTO TABLE insert_into6a PARTITION (ds='2') SELECT * FROM src LIMIT 100; + SELECT * FROM `s/c` LIMIT 150; +INSERT INTO TABLE insert_into6a PARTITION (ds='1') SELECT * FROM `s/c` LIMIT 150; +INSERT INTO TABLE insert_into6a PARTITION (ds='2') SELECT * FROM `s/c` LIMIT 100; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) FROM insert_into6a ) t; diff --git a/ql/src/test/queries/clientpositive/insert_into_with_schema.q b/ql/src/test/queries/clientpositive/insert_into_with_schema.q index 69fa9d2..9bae7f1 100644 --- a/ql/src/test/queries/clientpositive/insert_into_with_schema.q +++ b/ql/src/test/queries/clientpositive/insert_into_with_schema.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- set of tests HIVE-9481 drop database if exists x314 cascade; diff --git a/ql/src/test/queries/clientpositive/insert_into_with_schema2.q b/ql/src/test/queries/clientpositive/insert_into_with_schema2.q index a5352ec..24e1a7a 100644 --- a/ql/src/test/queries/clientpositive/insert_into_with_schema2.q +++ b/ql/src/test/queries/clientpositive/insert_into_with_schema2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_non_utf8_encoding_table.q b/ql/src/test/queries/clientpositive/insert_non_utf8_encoding_table.q index 0f9db02..8731ccb 100644 --- a/ql/src/test/queries/clientpositive/insert_non_utf8_encoding_table.q +++ b/ql/src/test/queries/clientpositive/insert_non_utf8_encoding_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists table_with_utf8_encoding; create table table_with_utf8_encoding (name STRING) diff --git a/ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q b/ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q index 639cb31..c3182fc 100644 --- a/ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q +++ b/ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_orig_table.q b/ql/src/test/queries/clientpositive/insert_orig_table.q index c38bd5a..45fb640 100644 --- a/ql/src/test/queries/clientpositive/insert_orig_table.q +++ b/ql/src/test/queries/clientpositive/insert_orig_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_overwrite_directory.q b/ql/src/test/queries/clientpositive/insert_overwrite_directory.q index c3d419b..6fdad4e 100644 --- a/ql/src/test/queries/clientpositive/insert_overwrite_directory.q +++ b/ql/src/test/queries/clientpositive/insert_overwrite_directory.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + insert overwrite directory '../../data/files/src_table_1' -select * from src ; +select * from `s/c` ; dfs -cat ../../data/files/src_table_1/000000_0; insert overwrite directory '../../data/files/src_table_2' row format delimited FIELDS TERMINATED BY ':' -select * from src ; +select * from `s/c` ; dfs -cat ../../data/files/src_table_2/000000_0; @@ -105,7 +139,7 @@ dfs -cat ../../data/files/map_table_4/000000_0; insert overwrite directory '../../data/files/rctable' STORED AS RCFILE -select value,key from src; +select value,key from `s/c`; dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/rctable/temp; dfs -rmr ${system:test.tmp.dir}/rctable; diff --git a/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q b/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q index 6d069f5..e25c293 100644 --- a/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q +++ b/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + insert overwrite local directory '../../data/files/local_src_table_1' -select * from src ; +select * from `s/c` ; dfs -cat ../../data/files/local_src_table_1/000000_0; insert overwrite local directory '../../data/files/local_src_table_2' row format delimited FIELDS TERMINATED BY ':' -select * from src ; +select * from `s/c` ; dfs -cat ../../data/files/local_src_table_2/000000_0; @@ -84,7 +118,7 @@ dfs -cat ../../data/files/local_map_table_3/000000_0; insert overwrite local directory '../../data/files/local_rctable' STORED AS RCFILE -select value,key from src; +select value,key from `s/c`; dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/local_rctable/temp; dfs -rmr ${system:test.tmp.dir}/local_rctable; diff --git a/ql/src/test/queries/clientpositive/insert_update_delete.q b/ql/src/test/queries/clientpositive/insert_update_delete.q index 8dbb77c..47d4fb5 100644 --- a/ql/src/test/queries/clientpositive/insert_update_delete.q +++ b/ql/src/test/queries/clientpositive/insert_update_delete.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_values_acid_not_bucketed.q b/ql/src/test/queries/clientpositive/insert_values_acid_not_bucketed.q index fc0cb10..a8f9340 100644 --- a/ql/src/test/queries/clientpositive/insert_values_acid_not_bucketed.q +++ b/ql/src/test/queries/clientpositive/insert_values_acid_not_bucketed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_values_dynamic_partitioned.q b/ql/src/test/queries/clientpositive/insert_values_dynamic_partitioned.q index 71e0e73..2e260e5 100644 --- a/ql/src/test/queries/clientpositive/insert_values_dynamic_partitioned.q +++ b/ql/src/test/queries/clientpositive/insert_values_dynamic_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/insert_values_non_partitioned.q b/ql/src/test/queries/clientpositive/insert_values_non_partitioned.q index d0e7b0f..7cd994b 100644 --- a/ql/src/test/queries/clientpositive/insert_values_non_partitioned.q +++ b/ql/src/test/queries/clientpositive/insert_values_non_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_values_orig_table.q b/ql/src/test/queries/clientpositive/insert_values_orig_table.q index 8fef549..5019160 100644 --- a/ql/src/test/queries/clientpositive/insert_values_orig_table.q +++ b/ql/src/test/queries/clientpositive/insert_values_orig_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_values_partitioned.q b/ql/src/test/queries/clientpositive/insert_values_partitioned.q index c8223f7..ae265d7 100644 --- a/ql/src/test/queries/clientpositive/insert_values_partitioned.q +++ b/ql/src/test/queries/clientpositive/insert_values_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insert_values_tmp_table.q b/ql/src/test/queries/clientpositive/insert_values_tmp_table.q index 4e4c39e..408ea5f 100644 --- a/ql/src/test/queries/clientpositive/insert_values_tmp_table.q +++ b/ql/src/test/queries/clientpositive/insert_values_tmp_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/insertexternal1.q b/ql/src/test/queries/clientpositive/insertexternal1.q index 9004a0c..35f5b76 100644 --- a/ql/src/test/queries/clientpositive/insertexternal1.q +++ b/ql/src/test/queries/clientpositive/insertexternal1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table texternal(key string, val string) partitioned by (insertdate string); @@ -7,7 +41,7 @@ dfs -rmr ${system:test.tmp.dir}/texternal; dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/texternal/2008-01-01; alter table texternal add partition (insertdate='2008-01-01') location 'pfile://${system:test.tmp.dir}/texternal/2008-01-01'; -from src insert overwrite table texternal partition (insertdate='2008-01-01') select *; +from `s/c` insert overwrite table texternal partition (insertdate='2008-01-01') select *; select * from texternal where insertdate='2008-01-01'; diff --git a/ql/src/test/queries/clientpositive/insertoverwrite_bucket.q b/ql/src/test/queries/clientpositive/insertoverwrite_bucket.q index d939710..1c7660d 100644 --- a/ql/src/test/queries/clientpositive/insertoverwrite_bucket.q +++ b/ql/src/test/queries/clientpositive/insertoverwrite_bucket.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE IF NOT EXISTS bucketinput( data string ) diff --git a/ql/src/test/queries/clientpositive/interval_1.q b/ql/src/test/queries/clientpositive/interval_1.q index b3b586f..4596b24 100644 --- a/ql/src/test/queries/clientpositive/interval_1.q +++ b/ql/src/test/queries/clientpositive/interval_1.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select interval '10-11' year to month, interval '10' year, interval '11' month -from src limit 1; +from `s/c` limit 1; select interval_year_month('10-11'), @@ -10,12 +44,12 @@ select interval_year_month(cast('10-11' as varchar(10))), interval_year_month(cast('10-11' as char(10))), interval_year_month('10-11') = interval '10-11' year to month -from src limit 1; +from `s/c` limit 1; -- Test normalization of interval values select interval '49' month -from src limit 1; +from `s/c` limit 1; select interval '10 9:8:7.987654321' day to second, @@ -24,7 +58,7 @@ select interval '12' minute, interval '13' second, interval '13.123456789' second -from src limit 1; +from `s/c` limit 1; select interval_day_time('2 1:2:3'), @@ -32,11 +66,11 @@ select interval_day_time(cast('2 1:2:3' as varchar(10))), interval_day_time(cast('2 1:2:3' as char(10))), interval_day_time('2 1:2:3') = interval '2 1:2:3' day to second -from src limit 1; +from `s/c` limit 1; -- Test normalization of interval values select interval '49' hour, interval '1470' minute, interval '90061.111111111' second -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/interval_2.q b/ql/src/test/queries/clientpositive/interval_2.q index f622c76..69f2535 100644 --- a/ql/src/test/queries/clientpositive/interval_2.q +++ b/ql/src/test/queries/clientpositive/interval_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- group-by/order-by/aggregation functions select @@ -7,7 +41,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by iym order by iym asc limit 5; @@ -19,7 +53,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by iym order by iym desc limit 5; @@ -32,7 +66,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by iym having max(idt) > interval '496 0:0:0' day to second order by iym desc @@ -45,7 +79,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by idt order by idt asc limit 5; @@ -57,7 +91,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by idt order by idt desc limit 5; @@ -70,7 +104,7 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1 + from `s/c`) q1 group by idt having max(iym) < interval '496-0' year to month order by idt desc @@ -83,5 +117,5 @@ from ( key, interval_year_month(concat(key, '-1')) as iym, interval_day_time(concat(key, ' 1:1:1')) as idt - from src) q1; + from `s/c`) q1; diff --git a/ql/src/test/queries/clientpositive/interval_3.q b/ql/src/test/queries/clientpositive/interval_3.q index dec9bed..6fceb97 100644 --- a/ql/src/test/queries/clientpositive/interval_3.q +++ b/ql/src/test/queries/clientpositive/interval_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- where clause select l_orderkey, l_shipdate, l_receiptdate diff --git a/ql/src/test/queries/clientpositive/interval_arithmetic.q b/ql/src/test/queries/clientpositive/interval_arithmetic.q index 06acbd7..e3a0ca8 100644 --- a/ql/src/test/queries/clientpositive/interval_arithmetic.q +++ b/ql/src/test/queries/clientpositive/interval_arithmetic.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table interval_arithmetic_1 (dateval date, tsval timestamp); insert overwrite table interval_arithmetic_1 select cast(ctimestamp1 as date), ctimestamp1 from alltypesorc; diff --git a/ql/src/test/queries/clientpositive/interval_comparison.q b/ql/src/test/queries/clientpositive/interval_comparison.q index 8e78664..4bf2b29 100644 --- a/ql/src/test/queries/clientpositive/interval_comparison.q +++ b/ql/src/test/queries/clientpositive/interval_comparison.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- should all be true select @@ -18,7 +52,7 @@ from ( interval '2' year as i2, interval '2-1' year to month as i3, interval '25' month as i4 - from src limit 1 + from `s/c` limit 1 ) q1; -- should all be false @@ -38,7 +72,7 @@ from ( interval '2' year as i2, interval '2-1' year to month as i3, interval '25' month as i4 - from src limit 1 + from `s/c` limit 1 ) q1; -- should all be true @@ -60,7 +94,7 @@ from ( interval '24' hour as i2, interval '1 0:0:1' day to second as i3, interval '86401' second as i4 - from src limit 1 + from `s/c` limit 1 ) q1; -- should all be false @@ -80,6 +114,6 @@ from ( interval '24' hour as i2, interval '1 0:0:1' day to second as i3, interval '86401' second as i4 - from src limit 1 + from `s/c` limit 1 ) q1; diff --git a/ql/src/test/queries/clientpositive/interval_udf.q b/ql/src/test/queries/clientpositive/interval_udf.q index 3fbdb0b..c7ef1dc 100644 --- a/ql/src/test/queries/clientpositive/interval_udf.q +++ b/ql/src/test/queries/clientpositive/interval_udf.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select year(iym), month(iym), day(idt), hour(idt), minute(idt), second(idt) from ( select interval '1-2' year to month iym, interval '3 4:5:6.789' day to second idt - from src limit 1 + from `s/c` limit 1 ) q; diff --git a/ql/src/test/queries/clientpositive/ivyDownload.q b/ql/src/test/queries/clientpositive/ivyDownload.q index 86ab648..06b0654 100644 --- a/ql/src/test/queries/clientpositive/ivyDownload.q +++ b/ql/src/test/queries/clientpositive/ivyDownload.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + ADD JAR ivy://:udfexampleadd:1.0; CREATE TEMPORARY FUNCTION example_add AS 'UDFExampleAdd'; @@ -10,7 +44,7 @@ SELECT example_add(1, 2), example_add(1.1, 2.2, 3.3), example_add(1.1, 2.2, 3.3, 4.4), example_add(1, 2, 3, 4.4) -FROM src LIMIT 1; +FROM `s/c` LIMIT 1; SELECT example_add(1, 2), example_add(1, 2, 3), @@ -19,7 +53,7 @@ SELECT example_add(1, 2), example_add(1.1, 2.2, 3.3), example_add(1.1, 2.2, 3.3, 4.4), example_add(1, 2, 3, 4.4) -FROM src LIMIT 1; +FROM `s/c` LIMIT 1; DROP TEMPORARY FUNCTION example_add; diff --git a/ql/src/test/queries/clientpositive/join0.q b/ql/src/test/queries/clientpositive/join0.q index 6ef6843..cd4b68c 100644 --- a/ql/src/test/queries/clientpositive/join0.q +++ b/ql/src/test/queries/clientpositive/join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- JAVA_VERSION_SPECIFIC_OUTPUT -- SORT_QUERY_RESULTS @@ -5,23 +39,23 @@ set hive.explain.user=false; EXPLAIN SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; EXPLAIN FORMATTED SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; diff --git a/ql/src/test/queries/clientpositive/join1.q b/ql/src/test/queries/clientpositive/join1.q index de97e8c..245c69f 100644 --- a/ql/src/test/queries/clientpositive/join1.q +++ b/ql/src/test/queries/clientpositive/join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -6,10 +40,10 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT dest_j1.* FROM dest_j1; diff --git a/ql/src/test/queries/clientpositive/join10.q b/ql/src/test/queries/clientpositive/join10.q index 03cd81d..3a4ee06 100644 --- a/ql/src/test/queries/clientpositive/join10.q +++ b/ql/src/test/queries/clientpositive/join10.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) SELECT Y.*; FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) SELECT Y.*; diff --git a/ql/src/test/queries/clientpositive/join11.q b/ql/src/test/queries/clientpositive/join11.q index 4224a38..d126910 100644 --- a/ql/src/test/queries/clientpositive/join11.q +++ b/ql/src/test/queries/clientpositive/join11.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100; SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100; diff --git a/ql/src/test/queries/clientpositive/join12.q b/ql/src/test/queries/clientpositive/join12.q index 121b2fd..2c7009f 100644 --- a/ql/src/test/queries/clientpositive/join12.q +++ b/ql/src/test/queries/clientpositive/join12.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; diff --git a/ql/src/test/queries/clientpositive/join13.q b/ql/src/test/queries/clientpositive/join13.q index 4492ccb..bb8d0ec 100644 --- a/ql/src/test/queries/clientpositive/join13.q +++ b/ql/src/test/queries/clientpositive/join13.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 + src2.c3 = src3.c5 AND src3.c5 < 200; SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 + src2.c3 = src3.c5 AND src3.c5 < 200; diff --git a/ql/src/test/queries/clientpositive/join14.q b/ql/src/test/queries/clientpositive/join14.q index bacd446..8af33f5 100644 --- a/ql/src/test/queries/clientpositive/join14.q +++ b/ql/src/test/queries/clientpositive/join14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.20S) @@ -9,10 +43,10 @@ set hive.exec.mode.local.auto=true; set hive.exec.mode.local.auto.input.files.max=6; EXPLAIN -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; select dest1.* from dest1; diff --git a/ql/src/test/queries/clientpositive/join14_hadoop20.q b/ql/src/test/queries/clientpositive/join14_hadoop20.q index a12ef1a..5caa4fd 100644 --- a/ql/src/test/queries/clientpositive/join14_hadoop20.q +++ b/ql/src/test/queries/clientpositive/join14_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.20, 0.20S) CREATE TABLE dest1(c1 INT, c2 STRING) STORED AS TEXTFILE; @@ -6,10 +40,10 @@ set mapred.job.tracker=localhost:58; set hive.exec.mode.local.auto=true; EXPLAIN -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; -FROM src JOIN srcpart ON src.key = srcpart.key AND srcpart.ds = '2008-04-08' and src.key > 100 -INSERT OVERWRITE TABLE dest1 SELECT src.key, srcpart.value; +FROM `s/c` JOIN `s/cpart` ON `s/c`.key = `s/cpart`.key AND `s/cpart`.ds = '2008-04-08' and `s/c`.key > 100 +INSERT OVERWRITE TABLE dest1 SELECT `s/c`.key, `s/cpart`.value; select dest1.* from dest1; diff --git a/ql/src/test/queries/clientpositive/join15.q b/ql/src/test/queries/clientpositive/join15.q index 4d2f8d5..04a4257 100644 --- a/ql/src/test/queries/clientpositive/join15.q +++ b/ql/src/test/queries/clientpositive/join15.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) SORT BY src1.key, src1.value, src2.key, src2.value; diff --git a/ql/src/test/queries/clientpositive/join16.q b/ql/src/test/queries/clientpositive/join16.q index 4c9c961..06cf964 100644 --- a/ql/src/test/queries/clientpositive/join16.q +++ b/ql/src/test/queries/clientpositive/join16.q @@ -1 +1,35 @@ -EXPLAIN SELECT subq.key, tab.value FROM (select a.key, a.value from src a where a.key > 10 ) subq JOIN src tab ON (subq.key = tab.key and subq.key > 20 and subq.value = tab.value) where tab.value < 200; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +EXPLAIN SELECT subq.key, tab.value FROM (select a.key, a.value from `s/c` a where a.key > 10 ) subq JOIN `s/c` tab ON (subq.key = tab.key and subq.key > 20 and subq.value = tab.value) where tab.value < 200; diff --git a/ql/src/test/queries/clientpositive/join17.q b/ql/src/test/queries/clientpositive/join17.q index 4b6a1ef..26b3bd8 100644 --- a/ql/src/test/queries/clientpositive/join17.q +++ b/ql/src/test/queries/clientpositive/join17.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(key1 INT, value1 STRING, key2 INT, value2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.*, src2.*; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.*, src2.*; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/join18.q b/ql/src/test/queries/clientpositive/join18.q index e8be582..c30b02c 100644 --- a/ql/src/test/queries/clientpositive/join18.q +++ b/ql/src/test/queries/clientpositive/join18.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN SELECT a.key, a.value, b.key, b.value FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( @@ -16,7 +50,7 @@ EXPLAIN SELECT a.key, a.value, b.key, b.value FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( diff --git a/ql/src/test/queries/clientpositive/join18_multi_distinct.q b/ql/src/test/queries/clientpositive/join18_multi_distinct.q index 8b3ac4d..37e6427 100644 --- a/ql/src/test/queries/clientpositive/join18_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/join18_multi_distinct.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN SELECT a.key, a.value, b.key, b.value1, b.value2 FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( @@ -17,7 +51,7 @@ EXPLAIN SELECT a.key, a.value, b.key, b.value1, b.value2 FROM ( - SELECT src1.key as key, count(src1.value) AS value FROM src src1 group by src1.key + SELECT src1.key as key, count(src1.value) AS value FROM `s/c` src1 group by src1.key ) a FULL OUTER JOIN ( diff --git a/ql/src/test/queries/clientpositive/join19.q b/ql/src/test/queries/clientpositive/join19.q index d5e0f42..e63ca4e 100644 --- a/ql/src/test/queries/clientpositive/join19.q +++ b/ql/src/test/queries/clientpositive/join19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE triples (foo string, subject string, predicate string, object string, foo2 string); diff --git a/ql/src/test/queries/clientpositive/join2.q b/ql/src/test/queries/clientpositive/join2.q index 7b782b4..491ad69 100644 --- a/ql/src/test/queries/clientpositive/join2.q +++ b/ql/src/test/queries/clientpositive/join2.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j2(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest_j2 SELECT src1.key, src3.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest_j2 SELECT src1.key, src3.value; SELECT dest_j2.* FROM dest_j2; diff --git a/ql/src/test/queries/clientpositive/join20.q b/ql/src/test/queries/clientpositive/join20.q index b2b1eba..ab5049b 100644 --- a/ql/src/test/queries/clientpositive/join20.q +++ b/ql/src/test/queries/clientpositive/join20.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/join21.q b/ql/src/test/queries/clientpositive/join21.q index 8ba2284..04b8de7 100644 --- a/ql/src/test/queries/clientpositive/join21.q +++ b/ql/src/test/queries/clientpositive/join21.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 LEFT OUTER JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN src src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; +SELECT * FROM `s/c` src1 LEFT OUTER JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) RIGHT OUTER JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 10) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/join22.q b/ql/src/test/queries/clientpositive/join22.q index 4a67d74..df3ead2 100644 --- a/ql/src/test/queries/clientpositive/join22.q +++ b/ql/src/test/queries/clientpositive/join22.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -SELECT src5.src1_value FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM src src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM src src1 JOIN src src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; +SELECT src5.src1_value FROM (SELECT src3.*, src4.value as src4_value, src4.key as src4_key FROM `s/c` src4 JOIN (SELECT src2.*, src1.key as src1_key, src1.value as src1_value FROM `s/c` src1 JOIN `s/c` src2 ON src1.key = src2.key) src3 ON src3.src1_key = src4.key) src5; diff --git a/ql/src/test/queries/clientpositive/join23.q b/ql/src/test/queries/clientpositive/join23.q index c7e78bd..96dc3da 100644 --- a/ql/src/test/queries/clientpositive/join23.q +++ b/ql/src/test/queries/clientpositive/join23.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; diff --git a/ql/src/test/queries/clientpositive/join24.q b/ql/src/test/queries/clientpositive/join24.q index 65c9256..b6fd6c8 100644 --- a/ql/src/test/queries/clientpositive/join24.q +++ b/ql/src/test/queries/clientpositive/join24.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tst1(key STRING, cnt INT); INSERT OVERWRITE TABLE tst1 -SELECT a.key, count(1) FROM src a group by a.key; +SELECT a.key, count(1) FROM `s/c` a group by a.key; SELECT sum(a.cnt) FROM tst1 a JOIN tst1 b ON a.key = b.key; diff --git a/ql/src/test/queries/clientpositive/join25.q b/ql/src/test/queries/clientpositive/join25.q index b093d69..ee802f8 100644 --- a/ql/src/test/queries/clientpositive/join25.q +++ b/ql/src/test/queries/clientpositive/join25.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,11 +39,11 @@ CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key); +FROM src1 x JOIN `s/c` y ON (x.key = y.key); INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key); +FROM src1 x JOIN `s/c` y ON (x.key = y.key); select * from dest_j1 x; diff --git a/ql/src/test/queries/clientpositive/join26.q b/ql/src/test/queries/clientpositive/join26.q index d90ce40..b194e69 100644 --- a/ql/src/test/queries/clientpositive/join26.q +++ b/ql/src/test/queries/clientpositive/join26.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,13 +39,13 @@ CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.key = z.key and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.key = z.key and z.ds='2008-04-08' and z.hr=11); select * from dest_j1 x; diff --git a/ql/src/test/queries/clientpositive/join27.q b/ql/src/test/queries/clientpositive/join27.q index a9000be..8af2b76 100644 --- a/ql/src/test/queries/clientpositive/join27.q +++ b/ql/src/test/queries/clientpositive/join27.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,10 +39,10 @@ CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.value = y.value); +FROM src1 x JOIN `s/c` y ON (x.value = y.value); INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.value = y.value); +FROM src1 x JOIN `s/c` y ON (x.value = y.value); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join28.q b/ql/src/test/queries/clientpositive/join28.q index c52a195..d75fe77 100644 --- a/ql/src/test/queries/clientpositive/join28.q +++ b/ql/src/test/queries/clientpositive/join28.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING) STORED AS TEXTFILE; @@ -13,15 +47,15 @@ INSERT OVERWRITE TABLE dest_j1 SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j1 SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join29.q b/ql/src/test/queries/clientpositive/join29.q index dd912fa..bd7173b 100644 --- a/ql/src/test/queries/clientpositive/join29.q +++ b/ql/src/test/queries/clientpositive/join29.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, cnt1 INT, cnt2 INT); @@ -12,11 +46,11 @@ EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT subq1.key, subq1.cnt, subq2.cnt FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN - (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key); + (select y.key, count(1) as cnt from `s/c` y group by y.key) subq2 ON (subq1.key = subq2.key); INSERT OVERWRITE TABLE dest_j1 SELECT subq1.key, subq1.cnt, subq2.cnt FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN - (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key); + (select y.key, count(1) as cnt from `s/c` y group by y.key) subq2 ON (subq1.key = subq2.key); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join3.q b/ql/src/test/queries/clientpositive/join3.q index c9c6703..2d4cc67 100644 --- a/ql/src/test/queries/clientpositive/join3.q +++ b/ql/src/test/queries/clientpositive/join3.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/join30.q b/ql/src/test/queries/clientpositive/join30.q index 292a310..abf4e76 100644 --- a/ql/src/test/queries/clientpositive/join30.q +++ b/ql/src/test/queries/clientpositive/join30.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, cnt INT); EXPLAIN INSERT OVERWRITE TABLE dest_j1 -SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; +SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key; INSERT OVERWRITE TABLE dest_j1 -SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; +SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key; select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join31.q b/ql/src/test/queries/clientpositive/join31.q index e90467e..79f7da2 100644 --- a/ql/src/test/queries/clientpositive/join31.q +++ b/ql/src/test/queries/clientpositive/join31.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, cnt INT); @@ -12,13 +46,13 @@ EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT subq1.key, count(1) as cnt FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN - (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key) + (select y.key, count(1) as cnt from `s/c` y group by y.key) subq2 ON (subq1.key = subq2.key) group by subq1.key; INSERT OVERWRITE TABLE dest_j1 SELECT subq1.key, count(1) as cnt FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN - (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key) + (select y.key, count(1) as cnt from `s/c` y group by y.key) subq2 ON (subq1.key = subq2.key) group by subq1.key; select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join32.q b/ql/src/test/queries/clientpositive/join32.q index 6517fe7..076098c 100644 --- a/ql/src/test/queries/clientpositive/join32.q +++ b/ql/src/test/queries/clientpositive/join32.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -11,13 +45,13 @@ set hive.auto.convert.join.noconditionaltask.size=10000; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join32_lessSize.q b/ql/src/test/queries/clientpositive/join32_lessSize.q index 63592de..fbad1f4 100644 --- a/ql/src/test/queries/clientpositive/join32_lessSize.q +++ b/ql/src/test/queries/clientpositive/join32_lessSize.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -12,27 +46,27 @@ set hive.auto.convert.join.noconditionaltask.size=6000; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); select * from dest_j1; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src w JOIN src1 x ON (x.value = w.value) -JOIN src y ON (x.key = y.key) +FROM `s/c` w JOIN src1 x ON (x.value = w.value) +JOIN `s/c` y ON (x.key = y.key) JOIN src1 z ON (x.key = z.key); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src w JOIN src1 x ON (x.value = w.value) -JOIN src y ON (x.key = y.key) +FROM `s/c` w JOIN src1 x ON (x.value = w.value) +JOIN `s/c` y ON (x.key = y.key) JOIN src1 z ON (x.key = z.key); select * from dest_j1; @@ -40,51 +74,51 @@ select * from dest_j1; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j2 SELECT res.key, z.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j2 SELECT res.key, z.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); select * from dest_j2; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j2 SELECT res.key, z.value, res.value -FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res -JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j2 SELECT res.key, z.value, res.value -FROM (select x.key, x.value from src1 x LEFT OUTER JOIN src y ON (x.key = y.key)) res -JOIN srcpart z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM (select x.key, x.value from src1 x LEFT OUTER JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` z ON (res.value = z.value and z.ds='2008-04-08' and z.hr=11); select * from dest_j2; EXPLAIN INSERT OVERWRITE TABLE dest_j2 SELECT res.key, x.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11); INSERT OVERWRITE TABLE dest_j2 SELECT res.key, x.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` x ON (res.value = x.value and x.ds='2008-04-08' and x.hr=11); select * from dest_j2; EXPLAIN INSERT OVERWRITE TABLE dest_j2 SELECT res.key, y.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11); INSERT OVERWRITE TABLE dest_j2 SELECT res.key, y.value, res.value -FROM (select x.key, x.value from src1 x JOIN src y ON (x.key = y.key)) res -JOIN srcpart y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11); +FROM (select x.key, x.value from src1 x JOIN `s/c` y ON (x.key = y.key)) res +JOIN `s/cpart` y ON (res.value = y.value and y.ds='2008-04-08' and y.hr=11); select * from dest_j2; diff --git a/ql/src/test/queries/clientpositive/join33.q b/ql/src/test/queries/clientpositive/join33.q index 6517fe7..076098c 100644 --- a/ql/src/test/queries/clientpositive/join33.q +++ b/ql/src/test/queries/clientpositive/join33.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -11,13 +45,13 @@ set hive.auto.convert.join.noconditionaltask.size=10000; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join34.q b/ql/src/test/queries/clientpositive/join34.q index be97630..04e9818 100644 --- a/ql/src/test/queries/clientpositive/join34.q +++ b/ql/src/test/queries/clientpositive/join34.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -12,18 +46,18 @@ EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, x.value, subq1.value FROM -( SELECT x.key as key, x.value as value from src x where x.key < 20 +( SELECT x.key as key, x.value as value from `s/c` x where x.key < 20 UNION ALL - SELECT x1.key as key, x1.value as value from src x1 where x1.key > 100 + SELECT x1.key as key, x1.value as value from `s/c` x1 where x1.key > 100 ) subq1 JOIN src1 x ON (x.key = subq1.key); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, x.value, subq1.value FROM -( SELECT x.key as key, x.value as value from src x where x.key < 20 +( SELECT x.key as key, x.value as value from `s/c` x where x.key < 20 UNION ALL - SELECT x1.key as key, x1.value as value from src x1 where x1.key > 100 + SELECT x1.key as key, x1.value as value from `s/c` x1 where x1.key > 100 ) subq1 JOIN src1 x ON (x.key = subq1.key); diff --git a/ql/src/test/queries/clientpositive/join35.q b/ql/src/test/queries/clientpositive/join35.q index b637f18..2b51a75 100644 --- a/ql/src/test/queries/clientpositive/join35.q +++ b/ql/src/test/queries/clientpositive/join35.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 INT) STORED AS TEXTFILE; @@ -12,18 +46,18 @@ EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); INSERT OVERWRITE TABLE dest_j1 SELECT x.key, x.value, subq1.cnt FROM -( SELECT x.key as key, count(1) as cnt from src x where x.key < 20 group by x.key +( SELECT x.key as key, count(1) as cnt from `s/c` x where x.key < 20 group by x.key UNION ALL - SELECT x1.key as key, count(1) as cnt from src x1 where x1.key > 100 group by x1.key + SELECT x1.key as key, count(1) as cnt from `s/c` x1 where x1.key > 100 group by x1.key ) subq1 JOIN src1 x ON (x.key = subq1.key); diff --git a/ql/src/test/queries/clientpositive/join36.q b/ql/src/test/queries/clientpositive/join36.q index ed71439..4f9692b 100644 --- a/ql/src/test/queries/clientpositive/join36.q +++ b/ql/src/test/queries/clientpositive/join36.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE tmp1(key INT, cnt INT); @@ -5,10 +39,10 @@ CREATE TABLE tmp2(key INT, cnt INT); CREATE TABLE dest_j1(key INT, value INT, val2 INT); INSERT OVERWRITE TABLE tmp1 -SELECT key, count(1) from src group by key; +SELECT key, count(1) from `s/c` group by key; INSERT OVERWRITE TABLE tmp2 -SELECT key, count(1) from src group by key; +SELECT key, count(1) from `s/c` group by key; EXPLAIN INSERT OVERWRITE TABLE dest_j1 diff --git a/ql/src/test/queries/clientpositive/join37.q b/ql/src/test/queries/clientpositive/join37.q index e029415..5a59c1e 100644 --- a/ql/src/test/queries/clientpositive/join37.q +++ b/ql/src/test/queries/clientpositive/join37.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,11 +39,11 @@ CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key); +FROM src1 x JOIN `s/c` y ON (x.key = y.key); INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key); +FROM src1 x JOIN `s/c` y ON (x.key = y.key); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join38.q b/ql/src/test/queries/clientpositive/join38.q index 7fbe377..a2c0cb5 100644 --- a/ql/src/test/queries/clientpositive/join38.q +++ b/ql/src/test/queries/clientpositive/join38.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tmp(col0 string, col1 string,col2 string,col3 string,col4 string,col5 string,col6 string,col7 string,col8 string,col9 string,col10 string,col11 string); -insert overwrite table tmp select key, cast(key + 1 as int), key +2, key+3, key+4, cast(key+5 as int), key+6, key+7, key+8, key+9, key+10, cast(key+11 as int) from src where key = 100; +insert overwrite table tmp select key, cast(key + 1 as int), key +2, key+3, key+4, cast(key+5 as int), key+6, key+7, key+8, key+9, key+10, cast(key+11 as int) from `s/c` where key = 100; select * from tmp; explain -FROM src a JOIN tmp b ON (a.key = b.col11) +FROM `s/c` a JOIN tmp b ON (a.key = b.col11) SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count where b.col11 = 111 group by a.value, b.col5; -FROM src a JOIN tmp b ON (a.key = b.col11) +FROM `s/c` a JOIN tmp b ON (a.key = b.col11) SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count where b.col11 = 111 group by a.value, b.col5; diff --git a/ql/src/test/queries/clientpositive/join39.q b/ql/src/test/queries/clientpositive/join39.q index ab12158..f01b07d 100644 --- a/ql/src/test/queries/clientpositive/join39.q +++ b/ql/src/test/queries/clientpositive/join39.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE; @@ -5,12 +39,12 @@ CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED explain INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join4.q b/ql/src/test/queries/clientpositive/join4.q index 94e9c14..b89daf4 100644 --- a/ql/src/test/queries/clientpositive/join4.q +++ b/ql/src/test/queries/clientpositive/join4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/join40.q b/ql/src/test/queries/clientpositive/join40.q index 64b65e0..4c4683b 100644 --- a/ql/src/test/queries/clientpositive/join40.q +++ b/ql/src/test/queries/clientpositive/join40.q @@ -1,45 +1,79 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.join.cache.size=1; -- SORT_QUERY_RESULTS EXPLAIN SELECT x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); SELECT x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); EXPLAIN select src1.key, src2.value -FROM src src1 JOIN src src2 ON (src1.key = src2.key); +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key); select src1.key, src2.value -FROM src src1 JOIN src src2 ON (src1.key = src2.key); +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key); EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; EXPLAIN -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; -SELECT * FROM src src1 JOIN src src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN src src3 ON (src1.key = src3.key AND src3.key < 20) +SELECT * FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key < 15) RIGHT OUTER JOIN `s/c` src3 ON (src1.key = src3.key AND src3.key < 20) SORT BY src1.key, src1.value, src2.key, src2.value, src3.key, src3.value; EXPLAIN SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value -FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key); +FROM `s/c` x left outer JOIN (select * from `s/c` where key <= 100) y ON (x.key = y.key); EXPLAIN -SELECT COUNT(1) FROM SRC A JOIN SRC B ON (A.KEY=B.KEY); +SELECT COUNT(1) FROM `s/c` A JOIN `s/c` B ON (A.KEY=B.KEY); -SELECT COUNT(1) FROM SRC A JOIN SRC B ON (A.KEY=B.KEY); +SELECT COUNT(1) FROM `s/c` A JOIN `s/c` B ON (A.KEY=B.KEY); diff --git a/ql/src/test/queries/clientpositive/join41.q b/ql/src/test/queries/clientpositive/join41.q index b8d9397..092bb72 100644 --- a/ql/src/test/queries/clientpositive/join41.q +++ b/ql/src/test/queries/clientpositive/join41.q @@ -1,4 +1,38 @@ -create table s1 as select * from src where key = 0; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +create table s1 as select * from `s/c` where key = 0; set hive.auto.convert.join.noconditionaltask=false; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/join42.q b/ql/src/test/queries/clientpositive/join42.q index f379058..09066a7 100644 --- a/ql/src/test/queries/clientpositive/join42.q +++ b/ql/src/test/queries/clientpositive/join42.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table L as select 4436 id; create table LA as select 4436 loan_id, 4748 aid, 4415 pi_id; create table FR as select 4436 loan_id; diff --git a/ql/src/test/queries/clientpositive/join43.q b/ql/src/test/queries/clientpositive/join43.q index 68694c6..cdb03ea 100644 --- a/ql/src/test/queries/clientpositive/join43.q +++ b/ql/src/test/queries/clientpositive/join43.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table purchase_history (s string, product string, price double, time int); insert into purchase_history values ('1', 'Belt', 20.00, 21); insert into purchase_history values ('1', 'Socks', 3.50, 31); diff --git a/ql/src/test/queries/clientpositive/join5.q b/ql/src/test/queries/clientpositive/join5.q index 660ebf6..7a0b08f 100644 --- a/ql/src/test/queries/clientpositive/join5.q +++ b/ql/src/test/queries/clientpositive/join5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/join6.q b/ql/src/test/queries/clientpositive/join6.q index c62db57..73c683b 100644 --- a/ql/src/test/queries/clientpositive/join6.q +++ b/ql/src/test/queries/clientpositive/join6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; -- SORT_QUERY_RESULTS @@ -6,11 +40,11 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/join7.q b/ql/src/test/queries/clientpositive/join7.q index 153983e..e43f616 100644 --- a/ql/src/test/queries/clientpositive/join7.q +++ b/ql/src/test/queries/clientpositive/join7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING, c5 INT, c6 STRING) STORED AS TEXTFILE; -- SORT_QUERY_RESULTS @@ -6,16 +40,16 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) LEFT OUTER JOIN ( - FROM src src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 + FROM `s/c` src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 ) c ON (a.c1 = c.c5) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4, c.c5 AS c5, c.c6 AS c6 @@ -25,16 +59,16 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4, c.c5, c.c6; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a FULL OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) LEFT OUTER JOIN ( - FROM src src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 + FROM `s/c` src3 SELECT src3.key AS c5, src3.value AS c6 WHERE src3.key > 20 and src3.key < 25 ) c ON (a.c1 = c.c5) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4, c.c5 AS c5, c.c6 AS c6 diff --git a/ql/src/test/queries/clientpositive/join8.q b/ql/src/test/queries/clientpositive/join8.q index d1b3063..02d4934 100644 --- a/ql/src/test/queries/clientpositive/join8.q +++ b/ql/src/test/queries/clientpositive/join8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(c1 INT, c2 STRING, c3 INT, c4 STRING) STORED AS TEXTFILE; @@ -6,11 +40,11 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -20,11 +54,11 @@ INSERT OVERWRITE TABLE dest1 SELECT c.c1, c.c2, c.c3, c.c4 where c.c3 IS NULL AN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a LEFT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/join9.q b/ql/src/test/queries/clientpositive/join9.q index 80364e7..b002e77 100644 --- a/ql/src/test/queries/clientpositive/join9.q +++ b/ql/src/test/queries/clientpositive/join9.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where src1.ds = '2008-04-08' and src1.hr = '12'; -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where src1.ds = '2008-04-08' and src1.hr = '12'; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/join_1to1.q b/ql/src/test/queries/clientpositive/join_1to1.q index 998bf53..07da431 100644 --- a/ql/src/test/queries/clientpositive/join_1to1.q +++ b/ql/src/test/queries/clientpositive/join_1to1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE join_1to1_1(key1 int, key2 int, value int); diff --git a/ql/src/test/queries/clientpositive/join_alt_syntax.q b/ql/src/test/queries/clientpositive/join_alt_syntax.q index 0658518..b40d9fc 100644 --- a/ql/src/test/queries/clientpositive/join_alt_syntax.q +++ b/ql/src/test/queries/clientpositive/join_alt_syntax.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select p1.p_name, p2.p_name from part p1 , part p2; diff --git a/ql/src/test/queries/clientpositive/join_array.q b/ql/src/test/queries/clientpositive/join_array.q index 6817d7c..ee05340 100644 --- a/ql/src/test/queries/clientpositive/join_array.q +++ b/ql/src/test/queries/clientpositive/join_array.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tinyA(a bigint, b bigint) stored as textfile; create table tinyB(a bigint, bList array) stored as textfile; diff --git a/ql/src/test/queries/clientpositive/join_casesensitive.q b/ql/src/test/queries/clientpositive/join_casesensitive.q index 4af1e48..2b5e7bd 100644 --- a/ql/src/test/queries/clientpositive/join_casesensitive.q +++ b/ql/src/test/queries/clientpositive/join_casesensitive.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE joinone(key1 int, key2 int, value int); diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_1.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_1.q index 4c1a384..0475c4c 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_1.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select * from part p1 join part p2 join part p3 on p1.p_name = p2.p_name and p2.p_name = p3.p_name; diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_2.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_2.q index cc7ca51..aa721ed 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_2.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select * from part p1 join part p2 join part p3 on p1.p_name = p2.p_name join part p4 on p2.p_name = p3.p_name and p1.p_name = p4.p_name; diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_3.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_3.q index d158b40..4dffc27 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_3.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select * from part p1 join part p2 join part p3 where p1.p_name = p2.p_name and p2.p_name = p3.p_name; diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_4.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_4.q index 6830d38..cdcbb54 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_4.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select * from part p1 join part p2 join part p3 on p1.p_name = p2.p_name join part p4 where p2.p_name = p3.p_name and p1.p_name = p4.p_name; diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual1.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual1.q index 9b038f5..1cb7271 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual1.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table part2( p2_partkey INT, p2_name STRING, diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual2.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual2.q index 0d18609..c094f5e 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual2.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table part2( p2_partkey INT, p2_name STRING, diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual3.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual3.q index 5478db2..82db859 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual3.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table part2( p2_partkey INT, p2_name STRING, diff --git a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual4.q b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual4.q index 152c77c..2ad268c 100644 --- a/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual4.q +++ b/ql/src/test/queries/clientpositive/join_cond_pushdown_unqual4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table part2( p2_partkey INT, p2_name STRING, diff --git a/ql/src/test/queries/clientpositive/join_empty.q b/ql/src/test/queries/clientpositive/join_empty.q index 1982487..9bc6e2d 100644 --- a/ql/src/test/queries/clientpositive/join_empty.q +++ b/ql/src/test/queries/clientpositive/join_empty.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table srcpart_empty(key int, value string) partitioned by (ds string); create table src2_empty (key int, value string); -select /*+mapjoin(a)*/ a.key, b.value from srcpart_empty a join src b on a.key=b.key; -select /*+mapjoin(a)*/ a.key, b.value from src2_empty a join src b on a.key=b.key; +select /*+mapjoin(a)*/ a.key, b.value from srcpart_empty a join `s/c` b on a.key=b.key; +select /*+mapjoin(a)*/ a.key, b.value from src2_empty a join `s/c` b on a.key=b.key; set hive.mapred.mode=nonstrict; set hive.auto.convert.join = true; -select a.key, b.value from srcpart_empty a join src b on a.key=b.key; -select a.key, b.value from src2_empty a join src b on a.key=b.key; \ No newline at end of file +select a.key, b.value from srcpart_empty a join `s/c` b on a.key=b.key; +select a.key, b.value from src2_empty a join `s/c` b on a.key=b.key; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/join_filters.q b/ql/src/test/queries/clientpositive/join_filters.q index cd7f807..1ccb4d2 100644 --- a/ql/src/test/queries/clientpositive/join_filters.q +++ b/ql/src/test/queries/clientpositive/join_filters.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_AND_HASH_QUERY_RESULTS CREATE TABLE myinput1(key int, value int); diff --git a/ql/src/test/queries/clientpositive/join_filters_overlap.q b/ql/src/test/queries/clientpositive/join_filters_overlap.q index 83fa348..13240cd 100644 --- a/ql/src/test/queries/clientpositive/join_filters_overlap.q +++ b/ql/src/test/queries/clientpositive/join_filters_overlap.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- HIVE-3411 Filter predicates on outer join overlapped on single alias is not handled properly -create table a as SELECT 100 as key, a.value as value FROM src LATERAL VIEW explode(array(40, 50, 60)) a as value limit 3; +create table a as SELECT 100 as key, a.value as value FROM `s/c` LATERAL VIEW explode(array(40, 50, 60)) a as value limit 3; -- overlap on a explain extended select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60); diff --git a/ql/src/test/queries/clientpositive/join_hive_626.q b/ql/src/test/queries/clientpositive/join_hive_626.q index c4c239c..d97db6b 100644 --- a/ql/src/test/queries/clientpositive/join_hive_626.q +++ b/ql/src/test/queries/clientpositive/join_hive_626.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/join_literals.q b/ql/src/test/queries/clientpositive/join_literals.q index 250bf83..82506f9 100644 --- a/ql/src/test/queries/clientpositive/join_literals.q +++ b/ql/src/test/queries/clientpositive/join_literals.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test Joins with a variety of literals in the on clause -SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0L; +SELECT COUNT(*) FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.key = 0L; -SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0S; +SELECT COUNT(*) FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.key = 0S; -SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0Y; +SELECT COUNT(*) FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.key = 0Y; -SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0BD; +SELECT COUNT(*) FROM `s/c` a JOIN `s/c` b ON a.key = b.key AND a.key = 0BD; diff --git a/ql/src/test/queries/clientpositive/join_map_ppr.q b/ql/src/test/queries/clientpositive/join_map_ppr.q index 23070b1..d711580 100644 --- a/ql/src/test/queries/clientpositive/join_map_ppr.q +++ b/ql/src/test/queries/clientpositive/join_map_ppr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,34 +39,34 @@ CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key) +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; select * from dest_j1; CREATE TABLE src_copy(key int, value string); CREATE TABLE src1_copy(key string, value string); -INSERT OVERWRITE TABLE src_copy select key, value from src; +INSERT OVERWRITE TABLE src_copy select key, value from `s/c`; INSERT OVERWRITE TABLE src1_copy select key, value from src1; EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value FROM src1_copy x JOIN src_copy y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key) +JOIN `s/cpart` z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; INSERT OVERWRITE TABLE dest_j1 SELECT /*+ MAPJOIN(x,y) */ x.key, z.value, y.value FROM src1_copy x JOIN src_copy y ON (x.key = y.key) -JOIN srcpart z ON (x.key = z.key) +JOIN `s/cpart` z ON (x.key = z.key) WHERE z.ds='2008-04-08' and z.hr=11; select * from dest_j1; diff --git a/ql/src/test/queries/clientpositive/join_merge_multi_expressions.q b/ql/src/test/queries/clientpositive/join_merge_multi_expressions.q index baef756..caff917 100644 --- a/ql/src/test/queries/clientpositive/join_merge_multi_expressions.q +++ b/ql/src/test/queries/clientpositive/join_merge_multi_expressions.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; -- SORT_QUERY_RESULTS explain -select count(*) from srcpart a join srcpart b on a.key = b.key and a.hr = b.hr join srcpart c on a.hr = c.hr and a.key = c.key; -select count(*) from srcpart a join srcpart b on a.key = b.key and a.hr = b.hr join srcpart c on a.hr = c.hr and a.key = c.key; +select count(*) from `s/cpart` a join `s/cpart` b on a.key = b.key and a.hr = b.hr join `s/cpart` c on a.hr = c.hr and a.key = c.key; +select count(*) from `s/cpart` a join `s/cpart` b on a.key = b.key and a.hr = b.hr join `s/cpart` c on a.hr = c.hr and a.key = c.key; diff --git a/ql/src/test/queries/clientpositive/join_merging.q b/ql/src/test/queries/clientpositive/join_merging.q index aedbb37..0184c6d 100644 --- a/ql/src/test/queries/clientpositive/join_merging.q +++ b/ql/src/test/queries/clientpositive/join_merging.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select p1.p_size, p2.p_size from part p1 left outer join part p2 on p1.p_partkey = p2.p_partkey diff --git a/ql/src/test/queries/clientpositive/join_nulls.q b/ql/src/test/queries/clientpositive/join_nulls.q index 6a2a7df..9cea704 100644 --- a/ql/src/test/queries/clientpositive/join_nulls.q +++ b/ql/src/test/queries/clientpositive/join_nulls.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE myinput1(key int, value int); diff --git a/ql/src/test/queries/clientpositive/join_nullsafe.q b/ql/src/test/queries/clientpositive/join_nullsafe.q index d6eda77..101b40f 100644 --- a/ql/src/test/queries/clientpositive/join_nullsafe.q +++ b/ql/src/test/queries/clientpositive/join_nullsafe.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/join_on_varchar.q b/ql/src/test/queries/clientpositive/join_on_varchar.q index 2cf261e..5d3f097 100644 --- a/ql/src/test/queries/clientpositive/join_on_varchar.q +++ b/ql/src/test/queries/clientpositive/join_on_varchar.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table tbl1(c1 varchar(10), intcol int); create table tbl2(c2 varchar(30)); -insert into table tbl1 select repeat('t', 10), 11 from src limit 1; -insert into table tbl1 select repeat('s', 10), 22 from src limit 1; -insert into table tbl2 select concat(repeat('t', 10), 'ppp') from src limit 1; -insert into table tbl2 select repeat('s', 10) from src limit 1; +insert into table tbl1 select repeat('t', 10), 11 from `s/c` limit 1; +insert into table tbl1 select repeat('s', 10), 22 from `s/c` limit 1; +insert into table tbl2 select concat(repeat('t', 10), 'ppp') from `s/c` limit 1; +insert into table tbl2 select repeat('s', 10) from `s/c` limit 1; explain select /*+ MAPJOIN(tbl2) */ c1,c2 from tbl1 join tbl2 on (c1 = c2) order by c1,c2; diff --git a/ql/src/test/queries/clientpositive/join_rc.q b/ql/src/test/queries/clientpositive/join_rc.q index b2e8c38..02ecebf 100644 --- a/ql/src/test/queries/clientpositive/join_rc.q +++ b/ql/src/test/queries/clientpositive/join_rc.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table join_rc1(key string, value string) stored as RCFile; create table join_rc2(key string, value string) stored as RCFile; -insert overwrite table join_rc1 select * from src; -insert overwrite table join_rc2 select * from src; +insert overwrite table join_rc1 select * from `s/c`; +insert overwrite table join_rc2 select * from `s/c`; explain select join_rc1.key, join_rc2.value diff --git a/ql/src/test/queries/clientpositive/join_reorder.q b/ql/src/test/queries/clientpositive/join_reorder.q index 8846113..4af505a 100644 --- a/ql/src/test/queries/clientpositive/join_reorder.q +++ b/ql/src/test/queries/clientpositive/join_reorder.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + @@ -12,16 +46,16 @@ LOAD DATA LOCAL INPATH '../../data/files/T3.txt' INTO TABLE T3; -- SORT_QUERY_RESULTS -EXPLAIN FROM T1 a JOIN src c ON c.key+1=a.key +EXPLAIN FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT a.key, a.val, c.key; -EXPLAIN FROM T1 a JOIN src c ON c.key+1=a.key +EXPLAIN FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ a.key, a.val, c.key; -FROM T1 a JOIN src c ON c.key+1=a.key +FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT a.key, a.val, c.key; -FROM T1 a JOIN src c ON c.key+1=a.key +FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ a.key, a.val, c.key; EXPLAIN FROM T1 a diff --git a/ql/src/test/queries/clientpositive/join_reorder2.q b/ql/src/test/queries/clientpositive/join_reorder2.q index ca1e65e..14f6029 100644 --- a/ql/src/test/queries/clientpositive/join_reorder2.q +++ b/ql/src/test/queries/clientpositive/join_reorder2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/join_reorder3.q b/ql/src/test/queries/clientpositive/join_reorder3.q index 994be16..06ff2ab 100644 --- a/ql/src/test/queries/clientpositive/join_reorder3.q +++ b/ql/src/test/queries/clientpositive/join_reorder3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/join_reorder4.q b/ql/src/test/queries/clientpositive/join_reorder4.q index 16ef204..44e1179 100644 --- a/ql/src/test/queries/clientpositive/join_reorder4.q +++ b/ql/src/test/queries/clientpositive/join_reorder4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key1 STRING, val1 STRING) STORED AS TEXTFILE; CREATE TABLE T2(key2 STRING, val2 STRING) STORED AS TEXTFILE; CREATE TABLE T3(key3 STRING, val3 STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/join_star.q b/ql/src/test/queries/clientpositive/join_star.q index c95a13b..93f6046 100644 --- a/ql/src/test/queries/clientpositive/join_star.q +++ b/ql/src/test/queries/clientpositive/join_star.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table fact(m1 int, m2 int, d1 int, d2 int); create table dim1(f1 int, f2 int); create table dim2(f3 int, f4 int); diff --git a/ql/src/test/queries/clientpositive/join_thrift.q b/ql/src/test/queries/clientpositive/join_thrift.q index 87fc636..ce0ae51 100644 --- a/ql/src/test/queries/clientpositive/join_thrift.q +++ b/ql/src/test/queries/clientpositive/join_thrift.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DESCRIBE src_thrift; diff --git a/ql/src/test/queries/clientpositive/join_vc.q b/ql/src/test/queries/clientpositive/join_vc.q index 3f2190e..95e1744 100644 --- a/ql/src/test/queries/clientpositive/join_vc.q +++ b/ql/src/test/queries/clientpositive/join_vc.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- see HIVE-4033 earlier a flag named hasVC was not initialized correctly in MapOperator.java, resulting in NPE for following query. order by and limit in the query is not relevant, problem would be evident even without those. They are there to keep .q.out file small and sorted. -- SORT_QUERY_RESULTS -explain select t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value from src t1 join src t2 on t1.key = t2.key join src t3 on t2.value = t3.value order by t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value limit 3; +explain select t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value from `s/c` t1 join `s/c` t2 on t1.key = t2.key join `s/c` t3 on t2.value = t3.value order by t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value limit 3; -select t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value from src t1 join src t2 on t1.key = t2.key join src t3 on t2.value = t3.value order by t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value limit 3; +select t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value from `s/c` t1 join `s/c` t2 on t1.key = t2.key join `s/c` t3 on t2.value = t3.value order by t3.BLOCK__OFFSET__INSIDE__FILE,t3.key,t3.value limit 3; explain select t2.BLOCK__OFFSET__INSIDE__FILE -from src t1 join src t2 on t1.key = t2.key where t1.key < 100 order by t2.BLOCK__OFFSET__INSIDE__FILE; +from `s/c` t1 join `s/c` t2 on t1.key = t2.key where t1.key < 100 order by t2.BLOCK__OFFSET__INSIDE__FILE; select t2.BLOCK__OFFSET__INSIDE__FILE -from src t1 join src t2 on t1.key = t2.key where t1.key < 100 order by t2.BLOCK__OFFSET__INSIDE__FILE; +from `s/c` t1 join `s/c` t2 on t1.key = t2.key where t1.key < 100 order by t2.BLOCK__OFFSET__INSIDE__FILE; diff --git a/ql/src/test/queries/clientpositive/join_view.q b/ql/src/test/queries/clientpositive/join_view.q index 16b6816..99f8070 100644 --- a/ql/src/test/queries/clientpositive/join_view.q +++ b/ql/src/test/queries/clientpositive/join_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table invites; drop table invites2; create table invites (foo int, bar string) partitioned by (ds string); diff --git a/ql/src/test/queries/clientpositive/json_serde_qualified_types.q b/ql/src/test/queries/clientpositive/json_serde_qualified_types.q index 8968b9a..49b32cf 100644 --- a/ql/src/test/queries/clientpositive/json_serde_qualified_types.q +++ b/ql/src/test/queries/clientpositive/json_serde_qualified_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + add jar ${system:maven.local.repository}/org/apache/hive/hcatalog/hive-hcatalog-core/${system:hive.version}/hive-hcatalog-core-${system:hive.version}.jar; diff --git a/ql/src/test/queries/clientpositive/json_serde_tsformat.q b/ql/src/test/queries/clientpositive/json_serde_tsformat.q index c00450c..a04fc25 100644 --- a/ql/src/test/queries/clientpositive/json_serde_tsformat.q +++ b/ql/src/test/queries/clientpositive/json_serde_tsformat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + add jar ${system:maven.local.repository}/org/apache/hive/hcatalog/hive-hcatalog-core/${system:hive.version}/hive-hcatalog-core-${system:hive.version}.jar; diff --git a/ql/src/test/queries/clientpositive/keyword_1.q b/ql/src/test/queries/clientpositive/keyword_1.q index d274515..01f4ddc 100644 --- a/ql/src/test/queries/clientpositive/keyword_1.q +++ b/ql/src/test/queries/clientpositive/keyword_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF create table test_user (`user` string, `group` string); diff --git a/ql/src/test/queries/clientpositive/keyword_2.q b/ql/src/test/queries/clientpositive/keyword_2.q index 054e26a..57d5c0d 100644 --- a/ql/src/test/queries/clientpositive/keyword_2.q +++ b/ql/src/test/queries/clientpositive/keyword_2.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.sql11.reserved.keywords=false; drop table varchar_udf_1; create table varchar_udf_1 (c1 string, c2 string, c3 varchar(10), c4 varchar(20)); insert overwrite table varchar_udf_1 - select key, value, key, value from src where key = '238' limit 1; + select key, value, key, value from `s/c` where key = '238' limit 1; select regexp(c2, 'val'), diff --git a/ql/src/test/queries/clientpositive/lateral_view.q b/ql/src/test/queries/clientpositive/lateral_view.q index f0c094f..416917c 100644 --- a/ql/src/test/queries/clientpositive/lateral_view.q +++ b/ql/src/test/queries/clientpositive/lateral_view.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tmp_pyang_lv (inputs string) STORED AS RCFILE; -INSERT OVERWRITE TABLE tmp_pyang_lv SELECT key FROM src; +INSERT OVERWRITE TABLE tmp_pyang_lv SELECT key FROM `s/c`; -EXPLAIN SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1; -EXPLAIN SELECT myTable.* FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3; -EXPLAIN SELECT myTable.myCol, myTable2.myCol2 FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9; -EXPLAIN SELECT myTable2.* FROM src LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3; +EXPLAIN SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1; +EXPLAIN SELECT myTable.* FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3; +EXPLAIN SELECT myTable.myCol, myTable2.myCol2 FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9; +EXPLAIN SELECT myTable2.* FROM `s/c` LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3; -- Verify that * selects columns from both tables -SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1; +SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1; -- TABLE.* should be supported -SELECT myTable.* FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3; +SELECT myTable.* FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3; -- Multiple lateral views should result in a Cartesian product -SELECT myTable.myCol, myTable2.myCol2 FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9; +SELECT myTable.myCol, myTable2.myCol2 FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9; -- Should be able to reference tables generated earlier -SELECT myTable2.* FROM src LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3; +SELECT myTable2.* FROM `s/c` LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3; EXPLAIN SELECT myCol from tmp_pyang_lv LATERAL VIEW explode(array(1,2,3)) myTab as myCol limit 3; @@ -24,7 +58,7 @@ SELECT myCol from tmp_pyang_lv LATERAL VIEW explode(array(1,2,3)) myTab as myCol SELECT myCol from tmp_PYANG_lv LATERAL VIEW explode(array(1,2,3)) myTab as myCol limit 3; CREATE TABLE tmp_pyang_src_rcfile (key string, value array) STORED AS RCFILE; -INSERT OVERWRITE TABLE tmp_pyang_src_rcfile SELECT key, array(value) FROM src ORDER BY key LIMIT 20; +INSERT OVERWRITE TABLE tmp_pyang_src_rcfile SELECT key, array(value) FROM `s/c` ORDER BY key LIMIT 20; SELECT key,value from tmp_pyang_src_rcfile LATERAL VIEW explode(value) myTable AS myCol; SELECT myCol from tmp_pyang_src_rcfile LATERAL VIEW explode(value) myTable AS myCol; diff --git a/ql/src/test/queries/clientpositive/lateral_view_cp.q b/ql/src/test/queries/clientpositive/lateral_view_cp.q index 5e0b6fa..6d09843 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_cp.q +++ b/ql/src/test/queries/clientpositive/lateral_view_cp.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --HIVE 3226 drop table array_valued_src; create table array_valued_src (key string, value array); -insert overwrite table array_valued_src select key, array(value) from src; +insert overwrite table array_valued_src select key, array(value) from `s/c`; -- replace sel(*) to sel(exprs) for reflecting CP result properly -explain select count(val) from (select a.key as key, b.value as array_val from src a join array_valued_src b on a.key=b.key) i lateral view explode (array_val) c as val; -select count(val) from (select a.key as key, b.value as array_val from src a join array_valued_src b on a.key=b.key) i lateral view explode (array_val) c as val; +explain select count(val) from (select a.key as key, b.value as array_val from `s/c` a join array_valued_src b on a.key=b.key) i lateral view explode (array_val) c as val; +select count(val) from (select a.key as key, b.value as array_val from `s/c` a join array_valued_src b on a.key=b.key) i lateral view explode (array_val) c as val; diff --git a/ql/src/test/queries/clientpositive/lateral_view_explode2.q b/ql/src/test/queries/clientpositive/lateral_view_explode2.q index 3c48027..3516bcb 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_explode2.q +++ b/ql/src/test/queries/clientpositive/lateral_view_explode2.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + add jar ${system:maven.local.repository}/org/apache/hive/hive-contrib/${system:hive.version}/hive-contrib-${system:hive.version}.jar; CREATE TEMPORARY FUNCTION explode2 AS 'org.apache.hadoop.hive.contrib.udtf.example.GenericUDTFExplode2'; -EXPLAIN SELECT col1, col2 FROM src LATERAL VIEW explode2(array(1,2,3)) myTable AS col1, col2 group by col1, col2 LIMIT 3; +EXPLAIN SELECT col1, col2 FROM `s/c` LATERAL VIEW explode2(array(1,2,3)) myTable AS col1, col2 group by col1, col2 LIMIT 3; -SELECT col1, col2 FROM src LATERAL VIEW explode2(array(1,2,3)) myTable AS col1, col2 group by col1, col2 LIMIT 3; +SELECT col1, col2 FROM `s/c` LATERAL VIEW explode2(array(1,2,3)) myTable AS col1, col2 group by col1, col2 LIMIT 3; DROP TEMPORARY FUNCTION explode2; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/lateral_view_noalias.q b/ql/src/test/queries/clientpositive/lateral_view_noalias.q index df73432..a1607f3 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_noalias.q +++ b/ql/src/test/queries/clientpositive/lateral_view_noalias.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; --HIVE-2608 Do not require AS a,b,c part in LATERAL VIEW -EXPLAIN SELECT myTab.* from src LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; -SELECT myTab.* from src LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; +EXPLAIN SELECT myTab.* from `s/c` LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; +SELECT myTab.* from `s/c` LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; -EXPLAIN SELECT explode(map('key1', 100, 'key2', 200)) from src limit 2; -SELECT explode(map('key1', 100, 'key2', 200)) from src limit 2; +EXPLAIN SELECT explode(map('key1', 100, 'key2', 200)) from `s/c` limit 2; +SELECT explode(map('key1', 100, 'key2', 200)) from `s/c` limit 2; -- view -create view lv_noalias as SELECT myTab.* from src LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; +create view lv_noalias as SELECT myTab.* from `s/c` LATERAL VIEW explode(map('key1', 100, 'key2', 200)) myTab limit 2; explain select * from lv_noalias a join lv_noalias b on a.key=b.key; select * from lv_noalias a join lv_noalias b on a.key=b.key; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/lateral_view_onview.q b/ql/src/test/queries/clientpositive/lateral_view_onview.q index d8fca67..da0719d 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_onview.q +++ b/ql/src/test/queries/clientpositive/lateral_view_onview.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE lv_table( c1 STRING, c2 ARRAY, c3 INT, c4 CHAR(1)); -INSERT OVERWRITE TABLE lv_table SELECT 'abc ', array(1,2,3), 100, 't' FROM src; +INSERT OVERWRITE TABLE lv_table SELECT 'abc ', array(1,2,3), 100, 't' FROM `s/c`; CREATE OR REPLACE VIEW lv_view AS SELECT * FROM lv_table; diff --git a/ql/src/test/queries/clientpositive/lateral_view_outer.q b/ql/src/test/queries/clientpositive/lateral_view_outer.q index d65e79d..d1a1057 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_outer.q +++ b/ql/src/test/queries/clientpositive/lateral_view_outer.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- UDTF forwards nothing, OUTER LV add null for that explain -select * from src LATERAL VIEW OUTER explode(array()) C AS a limit 10; -select * from src LATERAL VIEW OUTER explode(array()) C AS a limit 10; +select * from `s/c` LATERAL VIEW OUTER explode(array()) C AS a limit 10; +select * from `s/c` LATERAL VIEW OUTER explode(array()) C AS a limit 10; -- backward compatible (UDTF forwards something for OUTER LV) explain -select * from src LATERAL VIEW OUTER explode(array(4,5)) C AS a limit 10; -select * from src LATERAL VIEW OUTER explode(array(4,5)) C AS a limit 10; +select * from `s/c` LATERAL VIEW OUTER explode(array(4,5)) C AS a limit 10; +select * from `s/c` LATERAL VIEW OUTER explode(array(4,5)) C AS a limit 10; -create table array_valued as select key, if (key > 300, array(value, value), null) as value from src; +create table array_valued as select key, if (key > 300, array(value, value), null) as value from `s/c`; explain select * from array_valued LATERAL VIEW OUTER explode(value) C AS a limit 10; diff --git a/ql/src/test/queries/clientpositive/lateral_view_ppd.q b/ql/src/test/queries/clientpositive/lateral_view_ppd.q index 65ae518..8b0fac6 100644 --- a/ql/src/test/queries/clientpositive/lateral_view_ppd.q +++ b/ql/src/test/queries/clientpositive/lateral_view_ppd.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -EXPLAIN SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0'; -SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0'; +EXPLAIN SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0'; +SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0'; -EXPLAIN SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0' AND myCol=1; -SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0' AND myCol=1; +EXPLAIN SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0' AND myCol=1; +SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE key='0' AND myCol=1; -EXPLAIN SELECT value, myCol FROM (SELECT * FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE ds='2008-04-08' AND hr="12" LIMIT 12; -SELECT value, myCol FROM (SELECT * FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE ds='2008-04-08' AND hr="12" LIMIT 12; +EXPLAIN SELECT value, myCol FROM (SELECT * FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE ds='2008-04-08' AND hr="12" LIMIT 12; +SELECT value, myCol FROM (SELECT * FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol) a WHERE ds='2008-04-08' AND hr="12" LIMIT 12; -EXPLAIN SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array(1,2,3)) myTable2 AS myCol2) a WHERE key='0'; -SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array(1,2,3)) myTable2 AS myCol2) a WHERE key='0'; +EXPLAIN SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array(1,2,3)) myTable2 AS myCol2) a WHERE key='0'; +SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array(1,2,3)) myTable2 AS myCol2) a WHERE key='0'; -- HIVE-4293 Predicates following UDTF operator are removed by PPD -EXPLAIN SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE myCol > 1) a WHERE key='0'; -SELECT value, myCol FROM (SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE myCol > 1) a WHERE key='0'; \ No newline at end of file +EXPLAIN SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE myCol > 1) a WHERE key='0'; +SELECT value, myCol FROM (SELECT * FROM `s/c` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE myCol > 1) a WHERE key='0'; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/lb_fs_stats.q b/ql/src/test/queries/clientpositive/lb_fs_stats.q index 7f31797..958aa9c 100644 --- a/ql/src/test/queries/clientpositive/lb_fs_stats.q +++ b/ql/src/test/queries/clientpositive/lb_fs_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.merge.mapfiles=false; @@ -12,7 +46,7 @@ CREATE TABLE test_tab (key STRING, value STRING) PARTITIONED BY (part STRING) ST ALTER TABLE test_tab SKEWED BY (key) ON ("484") STORED AS DIRECTORIES; -INSERT OVERWRITE TABLE test_tab PARTITION (part = '1') SELECT * FROM src; +INSERT OVERWRITE TABLE test_tab PARTITION (part = '1') SELECT * FROM `s/c`; describe formatted test_tab partition (part='1'); diff --git a/ql/src/test/queries/clientpositive/leadlag.q b/ql/src/test/queries/clientpositive/leadlag.q index 7c85cf1..ed4b34c 100644 --- a/ql/src/test/queries/clientpositive/leadlag.q +++ b/ql/src/test/queries/clientpositive/leadlag.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --1. testLagWithPTFWindowing select p_mfgr, p_name, rank() over (partition by p_mfgr order by p_name) as r, diff --git a/ql/src/test/queries/clientpositive/leadlag_queries.q b/ql/src/test/queries/clientpositive/leadlag_queries.q index 9b73685..3939558 100644 --- a/ql/src/test/queries/clientpositive/leadlag_queries.q +++ b/ql/src/test/queries/clientpositive/leadlag_queries.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- 1. testLeadUDAF select p_mfgr, p_retailprice, lead(p_retailprice) over (partition by p_mfgr order by p_name) as l1, diff --git a/ql/src/test/queries/clientpositive/leftsemijoin.q b/ql/src/test/queries/clientpositive/leftsemijoin.q index 76cf6fb..e9d169e 100644 --- a/ql/src/test/queries/clientpositive/leftsemijoin.q +++ b/ql/src/test/queries/clientpositive/leftsemijoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table sales; diff --git a/ql/src/test/queries/clientpositive/leftsemijoin_mr.q b/ql/src/test/queries/clientpositive/leftsemijoin_mr.q index c9ebe0e..3e0edd7 100644 --- a/ql/src/test/queries/clientpositive/leftsemijoin_mr.q +++ b/ql/src/test/queries/clientpositive/leftsemijoin_mr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key INT); LOAD DATA LOCAL INPATH '../../data/files/leftsemijoin_mr_t1.txt' INTO TABLE T1; CREATE TABLE T2(key INT); diff --git a/ql/src/test/queries/clientpositive/limit0.q b/ql/src/test/queries/clientpositive/limit0.q index b4f48a3..ae07ed4 100644 --- a/ql/src/test/queries/clientpositive/limit0.q +++ b/ql/src/test/queries/clientpositive/limit0.q @@ -1,7 +1,41 @@ -explain select * from src where key = '238' limit 0; -explain select src.key, count(src.value) from src group by src.key limit 0; -explain select * from ( select key from src limit 3) sq1 limit 0; +DROP TABLE IF EXISTS `s/c`; -select * from src where key = '238' limit 0; -select src.key, count(src.value) from src group by src.key limit 0; -select * from ( select key from src limit 3) sq1 limit 0; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +explain select * from `s/c` where key = '238' limit 0; +explain select `s/c`.key, count(`s/c`.value) from `s/c` group by `s/c`.key limit 0; +explain select * from ( select key from `s/c` limit 3) sq1 limit 0; + +select * from `s/c` where key = '238' limit 0; +select `s/c`.key, count(`s/c`.value) from `s/c` group by `s/c`.key limit 0; +select * from ( select key from `s/c` limit 3) sq1 limit 0; diff --git a/ql/src/test/queries/clientpositive/limit_partition_metadataonly.q b/ql/src/test/queries/clientpositive/limit_partition_metadataonly.q index 85125ea..c29c709 100644 --- a/ql/src/test/queries/clientpositive/limit_partition_metadataonly.q +++ b/ql/src/test/queries/clientpositive/limit_partition_metadataonly.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.limit.query.max.table.partition=1; -- SORT_QUERY_RESULTS -explain select ds from srcpart where hr=11 and ds='2008-04-08'; -select ds from srcpart where hr=11 and ds='2008-04-08'; +explain select ds from `s/cpart` where hr=11 and ds='2008-04-08'; +select ds from `s/cpart` where hr=11 and ds='2008-04-08'; -explain select distinct hr from srcpart; -select distinct hr from srcpart; +explain select distinct hr from `s/cpart`; +select distinct hr from `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/limit_pushdown.q b/ql/src/test/queries/clientpositive/limit_pushdown.q index 74030e3..6217f67 100644 --- a/ql/src/test/queries/clientpositive/limit_pushdown.q +++ b/ql/src/test/queries/clientpositive/limit_pushdown.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.limit.pushdown.memory.usage=0.3f; set hive.optimize.reducededuplication.min.reducer=1; @@ -7,21 +41,21 @@ set hive.optimize.reducededuplication.min.reducer=1; -- HIVE-3562 Some limit can be pushed down to map stage explain -select key,value from src order by key limit 20; -select key,value from src order by key limit 20; +select key,value from `s/c` order by key limit 20; +select key,value from `s/c` order by key limit 20; explain -select key,value from src order by key desc limit 20; -select key,value from src order by key desc limit 20; +select key,value from `s/c` order by key desc limit 20; +select key,value from `s/c` order by key desc limit 20; explain -select value, sum(key + 1) as sum from src group by value order by value limit 20; -select value, sum(key + 1) as sum from src group by value order by value limit 20; +select value, sum(key + 1) as sum from `s/c` group by value order by value limit 20; +select value, sum(key + 1) as sum from `s/c` group by value order by value limit 20; -- deduped RS explain -select value,avg(key + 1) from src group by value order by value limit 20; -select value,avg(key + 1) from src group by value order by value limit 20; +select value,avg(key + 1) from `s/c` group by value order by value limit 20; +select value,avg(key + 1) from `s/c` group by value order by value limit 20; -- distincts explain @@ -43,36 +77,36 @@ select ctinyint, count(distinct(cstring1)), count(distinct(cstring2)) from allty -- limit zero explain -select key,value from src order by key limit 0; -select key,value from src order by key limit 0; +select key,value from `s/c` order by key limit 0; +select key,value from `s/c` order by key limit 0; -- 2MR (applied to last RS) explain -select value, sum(key) as sum from src group by value order by sum limit 20; -select value, sum(key) as sum from src group by value order by sum limit 20; +select value, sum(key) as sum from `s/c` group by value order by sum limit 20; +select value, sum(key) as sum from `s/c` group by value order by sum limit 20; -- subqueries explain select * from -(select key, count(1) from src group by key order by key limit 2) subq +(select key, count(1) from `s/c` group by key order by key limit 2) subq join -(select key, count(1) from src group by key limit 3) subq2 +(select key, count(1) from `s/c` group by key limit 3) subq2 on subq.key=subq2.key limit 4; set hive.map.aggr=false; -- map aggregation disabled explain -select value, sum(key) as sum from src group by value order by value limit 20; -select value, sum(key) as sum from src group by value order by value limit 20; +select value, sum(key) as sum from `s/c` group by value order by value limit 20; +select value, sum(key) as sum from `s/c` group by value order by value limit 20; set hive.limit.pushdown.memory.usage=0.00002f; -- flush for order-by explain -select key,value,value,value,value,value,value,value,value from src order by key limit 100; -select key,value,value,value,value,value,value,value,value from src order by key limit 100; +select key,value,value,value,value,value,value,value,value from `s/c` order by key limit 100; +select key,value,value,value,value,value,value,value,value from `s/c` order by key limit 100; -- flush for group-by explain -select sum(key) as sum from src group by concat(key,value,value,value,value,value,value,value,value,value) order by sum limit 100; -select sum(key) as sum from src group by concat(key,value,value,value,value,value,value,value,value,value) order by sum limit 100; +select sum(key) as sum from `s/c` group by concat(key,value,value,value,value,value,value,value,value,value) order by sum limit 100; +select sum(key) as sum from `s/c` group by concat(key,value,value,value,value,value,value,value,value,value) order by sum limit 100; diff --git a/ql/src/test/queries/clientpositive/limit_pushdown_negative.q b/ql/src/test/queries/clientpositive/limit_pushdown_negative.q index e17ded1..9dd3a1f 100644 --- a/ql/src/test/queries/clientpositive/limit_pushdown_negative.q +++ b/ql/src/test/queries/clientpositive/limit_pushdown_negative.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.limit.pushdown.memory.usage=0.3f; -- negative, RS + join -explain select * from src a join src b on a.key=b.key limit 20; +explain select * from `s/c` a join `s/c` b on a.key=b.key limit 20; -- negative, RS + filter -explain select value, sum(key) as sum from src group by value having sum > 100 limit 20; +explain select value, sum(key) as sum from `s/c` group by value having sum > 100 limit 20; -- negative, RS + lateral view -explain select key, L.* from (select * from src order by key) a lateral view explode(array(value, value)) L as v limit 10; +explain select key, L.* from (select * from `s/c` order by key) a lateral view explode(array(value, value)) L as v limit 10; -- negative, RS + forward + multi-groupby CREATE TABLE dest_2(key STRING, c1 INT); CREATE TABLE dest_3(key STRING, c1 INT); -EXPLAIN FROM src +EXPLAIN FROM `s/c` INSERT OVERWRITE TABLE dest_2 SELECT value, sum(key) GROUP BY value INSERT OVERWRITE TABLE dest_3 SELECT value, sum(key) GROUP BY value limit 20; diff --git a/ql/src/test/queries/clientpositive/lineage1.q b/ql/src/test/queries/clientpositive/lineage1.q index 4743b7f..10b7366 100644 --- a/ql/src/test/queries/clientpositive/lineage1.q +++ b/ql/src/test/queries/clientpositive/lineage1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest_l1(key INT, value STRING) STORED AS TEXTFILE; @@ -8,23 +42,23 @@ INSERT OVERWRITE TABLE dest_l1 SELECT j.* FROM (SELECT t1.key, p1.value FROM src1 t1 - LEFT OUTER JOIN src p1 + LEFT OUTER JOIN `s/c` p1 ON (t1.key = p1.key) UNION ALL SELECT t2.key, p2.value FROM src1 t2 - LEFT OUTER JOIN src p2 + LEFT OUTER JOIN `s/c` p2 ON (t2.key = p2.key)) j; INSERT OVERWRITE TABLE dest_l1 SELECT j.* FROM (SELECT t1.key, p1.value FROM src1 t1 - LEFT OUTER JOIN src p1 + LEFT OUTER JOIN `s/c` p1 ON (t1.key = p1.key) UNION ALL SELECT t2.key, p2.value FROM src1 t2 - LEFT OUTER JOIN src p2 + LEFT OUTER JOIN `s/c` p2 ON (t2.key = p2.key)) j; diff --git a/ql/src/test/queries/clientpositive/lineage2.q b/ql/src/test/queries/clientpositive/lineage2.q index 6bcd1d7..5193621 100644 --- a/ql/src/test/queries/clientpositive/lineage2.q +++ b/ql/src/test/queries/clientpositive/lineage2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.LineageLogger; drop table if exists src2; @@ -48,12 +82,12 @@ INSERT OVERWRITE TABLE dest_l1 SELECT j.* FROM (SELECT t1.key, p1.value FROM src1 t1 - LEFT OUTER JOIN src p1 + LEFT OUTER JOIN `s/c` p1 ON (t1.key = p1.key) UNION ALL SELECT t2.key, p2.value FROM src1 t2 - LEFT OUTER JOIN src p2 + LEFT OUTER JOIN `s/c` p2 ON (t2.key = p2.key)) j; drop table if exists emp; diff --git a/ql/src/test/queries/clientpositive/lineage3.q b/ql/src/test/queries/clientpositive/lineage3.q index c24ff7d..56511fd 100644 --- a/ql/src/test/queries/clientpositive/lineage3.q +++ b/ql/src/test/queries/clientpositive/lineage3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.LineageLogger; drop table if exists d1; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_1.q b/ql/src/test/queries/clientpositive/list_bucket_dml_1.q index 1062e55..7ee7405 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_1.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -19,17 +53,17 @@ stored as DIRECTORIES -- list bucketing DML explain extended -insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart where ds='2008-04-08'; -insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart where ds='2008-04-08'; +insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; +insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; -- check DML result desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='11'); desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='12'); -select count(1) from srcpart where ds='2008-04-08'; +select count(1) from `s/cpart` where ds='2008-04-08'; select count(1) from list_bucketing_dynamic_part where ds='2008-04-08'; -select key, value from srcpart where ds='2008-04-08' and hr='11' and key = "484"; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11' and key = "484"; set hive.optimize.listbucketing=true; explain extended select key, value from list_bucketing_dynamic_part where ds='2008-04-08' and hr='11' and key = "484"; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_10.q b/ql/src/test/queries/clientpositive/list_bucket_dml_10.q index 8b384d9..a23eeaf 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_10.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set mapred.input.dir.recursive=true; @@ -26,10 +60,10 @@ create table list_bucketing_static_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from src; +select key, value from `s/c`; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from src; +select key, value from `s/c`; -- check DML result show partitions list_bucketing_static_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_11.q b/ql/src/test/queries/clientpositive/list_bucket_dml_11.q index 4f3eb12..76de085 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_11.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set mapred.input.dir.recursive=true; set hive.merge.mapfiles=false; @@ -20,10 +54,10 @@ create table list_bucketing_static_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from src; +select key, value from `s/c`; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from src; +select key, value from `s/c`; -- check DML result show partitions list_bucketing_static_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_12.q b/ql/src/test/queries/clientpositive/list_bucket_dml_12.q index 0630059..af2d192 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_12.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set mapred.input.dir.recursive=true; set hive.merge.mapfiles=false; @@ -19,10 +53,10 @@ create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 -- list bucketing DML explain extended insert overwrite table list_bucketing_mul_col partition (ds = '2008-04-08', hr = '11') -select 1, key, 1, value, 1 from src; +select 1, key, 1, value, 1 from `s/c`; insert overwrite table list_bucketing_mul_col partition (ds = '2008-04-08', hr = '11') -select 1, key, 1, value, 1 from src; +select 1, key, 1, value, 1 from `s/c`; -- check DML result show partitions list_bucketing_mul_col; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_13.q b/ql/src/test/queries/clientpositive/list_bucket_dml_13.q index eda2576..4727810 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_13.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set mapred.input.dir.recursive=true; set hive.merge.mapfiles=false; @@ -19,10 +53,10 @@ create table list_bucketing_mul_col (col1 String, col2 String, col3 String, col4 -- list bucketing DML explain extended insert overwrite table list_bucketing_mul_col partition (ds = '2008-04-08', hr = '2013-01-23+18:00:99') -select 1, key, 1, value, 1 from src; +select 1, key, 1, value, 1 from `s/c`; insert overwrite table list_bucketing_mul_col partition (ds = '2008-04-08', hr = '2013-01-23+18:00:99') -select 1, key, 1, value, 1 from src; +select 1, key, 1, value, 1 from `s/c`; -- check DML result show partitions list_bucketing_mul_col; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_14.q b/ql/src/test/queries/clientpositive/list_bucket_dml_14.q index f60c5b0..a632346 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_14.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -18,16 +52,16 @@ stored as DIRECTORIES -- list bucketing DML explain extended -insert overwrite table list_bucketing select * from src; -insert overwrite table list_bucketing select * from src; +insert overwrite table list_bucketing select * from `s/c`; +insert overwrite table list_bucketing select * from `s/c`; -- check DML result desc formatted list_bucketing; -select count(1) from src; +select count(1) from `s/c`; select count(1) from list_bucketing; -select key, value from src where key = "484"; +select key, value from `s/c` where key = "484"; set hive.optimize.listbucketing=true; explain extended select key, value from list_bucketing where key = "484"; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_2.q b/ql/src/test/queries/clientpositive/list_bucket_dml_2.q index f795f61..11b1b45 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_2.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -33,16 +67,16 @@ create table list_bucketing_static_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_static_part; desc formatted list_bucketing_static_part partition (ds='2008-04-08', hr='11'); -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -50,23 +84,23 @@ set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- 51 and val_51 in the table so skewed data for 51 and val_14 should be none -- but query should succeed for 51 or 51 and val_14 -select * from srcpart where ds = '2008-04-08' and key = '51'; +select * from `s/cpart` where ds = '2008-04-08' and key = '51'; select * from list_bucketing_static_part where key = '51'; -select * from srcpart where ds = '2008-04-08' and key = '51' and value = 'val_14'; +select * from `s/cpart` where ds = '2008-04-08' and key = '51' and value = 'val_14'; select * from list_bucketing_static_part where key = '51' and value = 'val_14'; -- queries with < <= > >= should work for skewed test although we don't benefit from pruning -select count(1) from srcpart where ds = '2008-04-08' and key < '51'; +select count(1) from `s/cpart` where ds = '2008-04-08' and key < '51'; select count(1) from list_bucketing_static_part where key < '51'; -select count(1) from srcpart where ds = '2008-04-08' and key <= '51'; +select count(1) from `s/cpart` where ds = '2008-04-08' and key <= '51'; select count(1) from list_bucketing_static_part where key <= '51'; -select count(1) from srcpart where ds = '2008-04-08' and key > '51'; +select count(1) from `s/cpart` where ds = '2008-04-08' and key > '51'; select count(1) from list_bucketing_static_part where key > '51'; -select count(1) from srcpart where ds = '2008-04-08' and key >= '51'; +select count(1) from `s/cpart` where ds = '2008-04-08' and key >= '51'; select count(1) from list_bucketing_static_part where key >= '51'; -- clean up diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_3.q b/ql/src/test/queries/clientpositive/list_bucket_dml_3.q index a43613c..1b8cc68 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_3.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -15,16 +49,16 @@ create table list_bucketing_static_part (key String, value String) partitioned b -- list bucketing DML explain extended -insert overwrite table list_bucketing_static_part partition (ds='2008-04-08', hr='11') select key, value from srcpart where ds='2008-04-08'; -insert overwrite table list_bucketing_static_part partition (ds='2008-04-08', hr='11') select key, value from srcpart where ds='2008-04-08'; +insert overwrite table list_bucketing_static_part partition (ds='2008-04-08', hr='11') select key, value from `s/cpart` where ds='2008-04-08'; +insert overwrite table list_bucketing_static_part partition (ds='2008-04-08', hr='11') select key, value from `s/cpart` where ds='2008-04-08'; -- check DML result desc formatted list_bucketing_static_part partition (ds='2008-04-08', hr='11'); -select count(1) from srcpart where ds='2008-04-08'; +select count(1) from `s/cpart` where ds='2008-04-08'; select count(1) from list_bucketing_static_part where ds='2008-04-08'; -select key, value from srcpart where ds='2008-04-08' and hr='11' and key = "484"; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11' and key = "484"; set hive.optimize.listbucketing=true; explain extended select key, value from list_bucketing_static_part where ds='2008-04-08' and hr='11' and key = "484"; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_4.q b/ql/src/test/queries/clientpositive/list_bucket_dml_4.q index d51ba89..42554aa 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_4.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -36,10 +70,10 @@ create table list_bucketing_static_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_static_part; @@ -50,16 +84,16 @@ set hive.merge.mapredfiles=true; -- list bucketing DML with merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_static_part; desc formatted list_bucketing_static_part partition (ds='2008-04-08', hr='11'); -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -67,7 +101,7 @@ set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_static_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_5.q b/ql/src/test/queries/clientpositive/list_bucket_dml_5.q index 2176d82..2fcbe5e 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_5.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -20,17 +54,17 @@ stored as DIRECTORIES; -- list bucketing DML explain extended -insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart where ds='2008-04-08'; -insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from srcpart where ds='2008-04-08'; +insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; +insert overwrite table list_bucketing_dynamic_part partition (ds='2008-04-08', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; -- check DML result desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='11'); desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='12'); -select count(1) from srcpart where ds='2008-04-08'; +select count(1) from `s/cpart` where ds='2008-04-08'; select count(1) from list_bucketing_dynamic_part where ds='2008-04-08'; -select key, value from srcpart where ds='2008-04-08' and key = "103" and value ="val_103"; +select key, value from `s/cpart` where ds='2008-04-08' and key = "103" and value ="val_103"; set hive.optimize.listbucketing=true; explain extended select key, value, ds, hr from list_bucketing_dynamic_part where ds='2008-04-08' and key = "103" and value ="val_103"; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_6.q b/ql/src/test/queries/clientpositive/list_bucket_dml_6.q index b129e23..7af12ce 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_6.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -59,10 +93,10 @@ create table list_bucketing_dynamic_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_dynamic_part; @@ -74,17 +108,17 @@ set hive.merge.mapredfiles=true; -- list bucketing DML with merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_dynamic_part; desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='a1'); desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='b1'); -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_dynamic_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -92,7 +126,7 @@ set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_dynamic_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_7.q b/ql/src/test/queries/clientpositive/list_bucket_dml_7.q index cacf4ea..8a32d87 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_7.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -33,10 +67,10 @@ CREATE TABLE list_bucketing_dynamic_part (key String, value STRING) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_dynamic_part; @@ -48,24 +82,24 @@ set hive.merge.mapredfiles=true; -- list bucketing DML with merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_dynamic_part; desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='a1'); desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='b1'); -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_dynamic_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; explain extended select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_dynamic_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_8.q b/ql/src/test/queries/clientpositive/list_bucket_dml_8.q index 1fd60cc..db9a8c3 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_8.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -60,10 +94,10 @@ create table list_bucketing_dynamic_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_dynamic_part partition (ds = '2008-04-08', hr) -select key, value, if(key % 100 == 0, 'a1', 'b1') from srcpart where ds = '2008-04-08'; +select key, value, if(key % 100 == 0, 'a1', 'b1') from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_dynamic_part; @@ -76,12 +110,12 @@ alter table list_bucketing_dynamic_part partition (ds='2008-04-08', hr='b1') con desc formatted list_bucketing_dynamic_part partition (ds='2008-04-08', hr='b1'); set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_dynamic_part; explain extended select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; select * from list_bucketing_dynamic_part where key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484' order by hr; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484' order by hr; -- clean up drop table list_bucketing_dynamic_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_dml_9.q b/ql/src/test/queries/clientpositive/list_bucket_dml_9.q index 095dffe..e5aa1bb 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_dml_9.q +++ b/ql/src/test/queries/clientpositive/list_bucket_dml_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -36,10 +70,10 @@ create table list_bucketing_static_part (key String, value String) -- list bucketing DML without merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_static_part; @@ -50,16 +84,16 @@ set hive.merge.mapredfiles=true; -- list bucketing DML with merge. use bucketize to generate a few small files. explain extended insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; insert overwrite table list_bucketing_static_part partition (ds = '2008-04-08', hr = '11') -select key, value from srcpart where ds = '2008-04-08'; +select key, value from `s/cpart` where ds = '2008-04-08'; -- check DML result show partitions list_bucketing_static_part; desc formatted list_bucketing_static_part partition (ds='2008-04-08', hr='11'); -select count(1) from srcpart where ds = '2008-04-08'; +select count(1) from `s/cpart` where ds = '2008-04-08'; select count(*) from list_bucketing_static_part; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -67,7 +101,7 @@ set hive.optimize.listbucketing=true; explain extended select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; select * from list_bucketing_static_part where ds = '2008-04-08' and hr = '11' and key = '484' and value = 'val_484'; -select * from srcpart where ds = '2008-04-08' and key = '484' and value = 'val_484'; +select * from `s/cpart` where ds = '2008-04-08' and key = '484' and value = 'val_484'; -- clean up drop table list_bucketing_static_part; diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_1.q b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_1.q index 48b1ff3..84465d9 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_1.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; @@ -25,7 +59,7 @@ skewed by (key, value) on (('484','val_484'),('238','val_238')) stored as DIRECTORIES; insert overwrite table fact_daily partition (ds = '1', hr = '4') -select key, value from src; +select key, value from `s/c`; describe formatted fact_daily PARTITION (ds = '1', hr='4'); diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q index 00410d1..d1ad939 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; @@ -23,7 +57,7 @@ skewed by (key, value) on (('484','val_484'),('238','val_238')) stored as DIRECTORIES; insert overwrite table fact_daily partition (ds = '1', hr = '4') -select key, value from src; +select key, value from `s/c`; describe formatted fact_daily PARTITION (ds = '1', hr='4'); diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_3.q b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_3.q index 2d1193d..015dfaa 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_3.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_multiskew_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; @@ -23,19 +57,19 @@ partitioned by (ds String, hr String) ; -- partition no skew insert overwrite table fact_daily partition (ds = '1', hr = '1') -select key, value from src; +select key, value from `s/c`; describe formatted fact_daily PARTITION (ds = '1', hr='1'); -- partition. skewed value is 484/238 alter table fact_daily skewed by (key, value) on (('484','val_484'),('238','val_238')) stored as DIRECTORIES; insert overwrite table fact_daily partition (ds = '1', hr = '2') -select key, value from src; +select key, value from `s/c`; describe formatted fact_daily PARTITION (ds = '1', hr='2'); -- another partition. skewed value is 327 alter table fact_daily skewed by (key, value) on (('327','val_327')) stored as DIRECTORIES; insert overwrite table fact_daily partition (ds = '1', hr = '3') -select key, value from src; +select key, value from `s/c`; describe formatted fact_daily PARTITION (ds = '1', hr='3'); -- query non-skewed partition diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q index 84727fe..4a6a33c 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; @@ -24,11 +58,11 @@ LOCATION '${hiveconf:hive.metastore.warehouse.dir}/fact_tz'; -- create /fact_tz/ds=1/hr=1 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='1') -SELECT key FROM src WHERE key=484; +SELECT key FROM `s/c` WHERE key=484; -- create /fact_tz/ds=1/hr=2 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='2') -SELECT key+11 FROM src WHERE key=484; +SELECT key+11 FROM `s/c` WHERE key=484; dfs -lsr ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1; dfs -mv ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/hr=1 ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484; diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q index 29409e1..21ad8f9 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; @@ -25,11 +59,11 @@ LOCATION '${hiveconf:hive.metastore.warehouse.dir}/fact_tz'; -- create /fact_tz/ds=1/hr=1 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='1') -SELECT key, value FROM src WHERE key=484; +SELECT key, value FROM `s/c` WHERE key=484; -- create /fact_tz/ds=1/hr=2 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='2') -SELECT key+11, value FROM src WHERE key=484; +SELECT key+11, value FROM `s/c` WHERE key=484; dfs -lsr ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1; dfs -mv ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/hr=1 ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484; diff --git a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q index 5d69906..0a55c1b 100644 --- a/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q +++ b/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.listbucketing=true; set mapred.input.dir.recursive=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -25,15 +59,15 @@ LOCATION '${hiveconf:hive.metastore.warehouse.dir}/fact_tz'; -- create /fact_tz/ds=1/hr=1 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='1') -SELECT key, value, value FROM src WHERE key=484; +SELECT key, value, value FROM `s/c` WHERE key=484; -- create /fact_tz/ds=1/hr=2 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='2') -SELECT key, value, value FROM src WHERE key=278 or key=86; +SELECT key, value, value FROM `s/c` WHERE key=278 or key=86; -- create /fact_tz/ds=1/hr=3 directory INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='3') -SELECT key, value, value FROM src WHERE key=238; +SELECT key, value, value FROM `s/c` WHERE key=238; dfs -lsr ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1; dfs -mv ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/hr=1 ${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484; diff --git a/ql/src/test/queries/clientpositive/literal_decimal.q b/ql/src/test/queries/clientpositive/literal_decimal.q index 1bafc24..af2ccf7 100644 --- a/ql/src/test/queries/clientpositive/literal_decimal.q +++ b/ql/src/test/queries/clientpositive/literal_decimal.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -EXPLAIN SELECT -1BD, 0BD, 1BD, 3.14BD, -3.14BD, 99999999999999999BD, 99999999999999999.9999999999999BD, 1E99BD FROM src LIMIT 1; +EXPLAIN SELECT -1BD, 0BD, 1BD, 3.14BD, -3.14BD, 99999999999999999BD, 99999999999999999.9999999999999BD, 1E99BD FROM `s/c` LIMIT 1; -SELECT -1BD, 0BD, 1BD, 3.14BD, -3.14BD, 99999999999999999BD, 99999999999999999.9999999999999BD, 1E99BD FROM src LIMIT 1; +SELECT -1BD, 0BD, 1BD, 3.14BD, -3.14BD, 99999999999999999BD, 99999999999999999.9999999999999BD, 1E99BD FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/literal_double.q b/ql/src/test/queries/clientpositive/literal_double.q index 766da69..8bad126 100644 --- a/ql/src/test/queries/clientpositive/literal_double.q +++ b/ql/src/test/queries/clientpositive/literal_double.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -EXPLAIN SELECT 3.14, -3.14, 3.14e8, 3.14e-8, -3.14e8, -3.14e-8, 3.14e+8, 3.14E8, 3.14E-8 FROM src LIMIT 1; -SELECT 3.14, -3.14, 3.14e8, 3.14e-8, -3.14e8, -3.14e-8, 3.14e+8, 3.14E8, 3.14E-8 FROM src LIMIT 1; +EXPLAIN SELECT 3.14, -3.14, 3.14e8, 3.14e-8, -3.14e8, -3.14e-8, 3.14e+8, 3.14E8, 3.14E-8 FROM `s/c` LIMIT 1; +SELECT 3.14, -3.14, 3.14e8, 3.14e-8, -3.14e8, -3.14e-8, 3.14e+8, 3.14E8, 3.14E-8 FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/literal_ints.q b/ql/src/test/queries/clientpositive/literal_ints.q index 5fd0cfa..4b4efda 100644 --- a/ql/src/test/queries/clientpositive/literal_ints.q +++ b/ql/src/test/queries/clientpositive/literal_ints.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -EXPLAIN SELECT 100, 100Y, 100S, 100L FROM src LIMIT 1; +EXPLAIN SELECT 100, 100Y, 100S, 100L FROM `s/c` LIMIT 1; -SELECT 100, 100Y, 100S, 100L FROM src LIMIT 1; +SELECT 100, 100Y, 100S, 100L FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/literal_string.q b/ql/src/test/queries/clientpositive/literal_string.q index c57dc57..cf583c4 100644 --- a/ql/src/test/queries/clientpositive/literal_string.q +++ b/ql/src/test/queries/clientpositive/literal_string.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN SELECT 'face''book', 'face' 'book', 'face' @@ -5,11 +39,11 @@ EXPLAIN SELECT 'face''book', 'face' 'book', 'face' "face""book", "face" "book", "face" "book", 'face' 'bo' 'ok', 'face'"book", - "face"'book', 'facebook' FROM src LIMIT 1; + "face"'book', 'facebook' FROM `s/c` LIMIT 1; SELECT 'face''book', 'face' 'book', 'face' 'book', "face""book", "face" "book", "face" "book", 'face' 'bo' 'ok', 'face'"book", - "face"'book', 'facebook' FROM src LIMIT 1; + "face"'book', 'facebook' FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/load_binary_data.q b/ql/src/test/queries/clientpositive/load_binary_data.q index 653918a..64b147f 100644 --- a/ql/src/test/queries/clientpositive/load_binary_data.q +++ b/ql/src/test/queries/clientpositive/load_binary_data.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE mytable(key binary, value int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '9' diff --git a/ql/src/test/queries/clientpositive/load_dyn_part1.q b/ql/src/test/queries/clientpositive/load_dyn_part1.q index 68323ab..34b9067 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part1.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part1.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part1 like srcpart; -create table if not exists nzhang_part2 like srcpart; +create table if not exists nzhang_part1 like `s/cpart`; +create table if not exists nzhang_part2 like `s/cpart`; describe extended nzhang_part1; set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; explain -from srcpart +from `s/cpart` insert overwrite table nzhang_part1 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part2 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table nzhang_part1 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part2 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part10.q b/ql/src/test/queries/clientpositive/load_dyn_part10.q index 8bb3056..9291d1b 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part10.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part10.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part10 like srcpart; +create table if not exists nzhang_part10 like `s/cpart`; describe extended nzhang_part10; set hive.merge.mapfiles=false; @@ -12,10 +46,10 @@ set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; explain -from srcpart +from `s/cpart` insert overwrite table nzhang_part10 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table nzhang_part10 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part11.q b/ql/src/test/queries/clientpositive/load_dyn_part11.q index 4cfbfe8..b260808 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part11.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part11.q @@ -1,7 +1,41 @@ -show partitions srcpart; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -create table if not exists nzhang_part like srcpart; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +show partitions `s/cpart`; + + +create table if not exists nzhang_part like `s/cpart`; describe extended nzhang_part; set hive.merge.mapfiles=false; @@ -9,7 +43,7 @@ set hive.merge.mapredfiles=false; set hive.exec.compress.output=true; set hive.exec.dynamic.partition=true; -insert overwrite table nzhang_part partition (ds="2010-03-03", hr) select key, value, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part partition (ds="2010-03-03", hr) select key, value, hr from `s/cpart` where ds is not null and hr is not null; select * from nzhang_part where ds = '2010-03-03' and hr = '11'; select * from nzhang_part where ds = '2010-03-03' and hr = '12'; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part12.q b/ql/src/test/queries/clientpositive/load_dyn_part12.q index dd8bd53..72101cf 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part12.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part12.q @@ -1,8 +1,42 @@ -show partitions srcpart; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -create table if not exists nzhang_part12 like srcpart; +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +show partitions `s/cpart`; + + + +create table if not exists nzhang_part12 like `s/cpart`; describe extended nzhang_part12; set hive.merge.mapfiles=false; @@ -10,7 +44,7 @@ set hive.merge.mapredfiles=false; set hive.exec.dynamic.partition=true; -insert overwrite table nzhang_part12 partition (ds="2010-03-03", hr) select key, value, cast(hr*2 as int) from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part12 partition (ds="2010-03-03", hr) select key, value, cast(hr*2 as int) from `s/cpart` where ds is not null and hr is not null; show partitions nzhang_part12; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part13.q b/ql/src/test/queries/clientpositive/load_dyn_part13.q index 0b8d44f..422fd09 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part13.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part13.q @@ -1,8 +1,42 @@ -show partitions srcpart; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -create table if not exists nzhang_part13 like srcpart; +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +show partitions `s/cpart`; + + + +create table if not exists nzhang_part13 like `s/cpart`; describe extended nzhang_part13; set hive.merge.mapfiles=false; @@ -13,21 +47,21 @@ explain insert overwrite table nzhang_part13 partition (ds="2010-03-03", hr) select * from ( select key, value, '22' - from src + from `s/c` where key < 20 union all select key, value, '33' - from src + from `s/c` where key > 20 and key < 40) s; insert overwrite table nzhang_part13 partition (ds="2010-03-03", hr) select * from ( select key, value, '22' - from src + from `s/c` where key < 20 union all select key, value, '33' - from src + from `s/c` where key > 20 and key < 40) s; show partitions nzhang_part13; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part14.q b/ql/src/test/queries/clientpositive/load_dyn_part14.q index 6c19338..a6271a0 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part14.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- EXCLUDE_OS_WINDOWS -- excluded on windows because of difference in file name encoding logic @@ -14,20 +48,20 @@ set hive.exec.dynamic.partition.mode=nonstrict; explain insert overwrite table nzhang_part14 partition(value) select key, value from ( - select * from (select 'k1' as key, cast(null as string) as value from src limit 2)a + select * from (select 'k1' as key, cast(null as string) as value from `s/c` limit 2)a union all - select * from (select 'k2' as key, '' as value from src limit 2)b + select * from (select 'k2' as key, '' as value from `s/c` limit 2)b union all - select * from (select 'k3' as key, ' ' as value from src limit 2)c + select * from (select 'k3' as key, ' ' as value from `s/c` limit 2)c ) T; insert overwrite table nzhang_part14 partition(value) select key, value from ( - select * from (select 'k1' as key, cast(null as string) as value from src limit 2)a + select * from (select 'k1' as key, cast(null as string) as value from `s/c` limit 2)a union all - select * from (select 'k2' as key, '' as value from src limit 2)b + select * from (select 'k2' as key, '' as value from `s/c` limit 2)b union all - select * from (select 'k3' as key, ' ' as value from src limit 2)c + select * from (select 'k3' as key, ' ' as value from `s/c` limit 2)c ) T; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part14_win.q b/ql/src/test/queries/clientpositive/load_dyn_part14_win.q old mode 100755 new mode 100644 index 8ff4772..5664b29 --- a/ql/src/test/queries/clientpositive/load_dyn_part14_win.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part14_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_OS_WINDOWS -- included only on windows because of difference in file name encoding logic @@ -14,20 +48,20 @@ set hive.exec.dynamic.partition.mode=nonstrict; explain insert overwrite table nzhang_part14 partition(value) select key, value from ( - select * from (select 'k1' as key, cast(null as string) as value from src limit 2)a + select * from (select 'k1' as key, cast(null as string) as value from `s/c` limit 2)a union all - select * from (select 'k2' as key, '' as value from src limit 2)b + select * from (select 'k2' as key, '' as value from `s/c` limit 2)b union all - select * from (select 'k3' as key, ' ' as value from src limit 2)c + select * from (select 'k3' as key, ' ' as value from `s/c` limit 2)c ) T; insert overwrite table nzhang_part14 partition(value) select key, value from ( - select * from (select 'k1' as key, cast(null as string) as value from src limit 2)a + select * from (select 'k1' as key, cast(null as string) as value from `s/c` limit 2)a union all - select * from (select 'k2' as key, '' as value from src limit 2)b + select * from (select 'k2' as key, '' as value from `s/c` limit 2)b union all - select * from (select 'k3' as key, ' ' as value from src limit 2)c + select * from (select 'k3' as key, ' ' as value from `s/c` limit 2)c ) T; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part15.q b/ql/src/test/queries/clientpositive/load_dyn_part15.q index 3c33108..20e6f75 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part15.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -8,6 +42,6 @@ create table if not exists load_dyn_part15_test (key string) show partitions load_dyn_part15_test; INSERT OVERWRITE TABLE load_dyn_part15_test PARTITION(part_key) -SELECT key, part_key FROM src LATERAL VIEW explode(array("1","{2","3]")) myTable AS part_key; +SELECT key, part_key FROM `s/c` LATERAL VIEW explode(array("1","{2","3]")) myTable AS part_key; show partitions load_dyn_part15_test; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/load_dyn_part2.q b/ql/src/test/queries/clientpositive/load_dyn_part2.q index e804971..080d0a0 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part2.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS @@ -12,9 +46,9 @@ set hive.enforce.bucketing=true; set hive.exec.dynamic.partition=true; explain -insert overwrite table nzhang_part_bucket partition (ds='2010-03-23', hr) select key, value, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part_bucket partition (ds='2010-03-23', hr) select key, value, hr from `s/cpart` where ds is not null and hr is not null; -insert overwrite table nzhang_part_bucket partition (ds='2010-03-23', hr) select key, value, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part_bucket partition (ds='2010-03-23', hr) select key, value, hr from `s/cpart` where ds is not null and hr is not null; show partitions nzhang_part_bucket; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part3.q b/ql/src/test/queries/clientpositive/load_dyn_part3.q index 07423fd..8c67dee 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part3.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part3.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part3 like srcpart; +create table if not exists nzhang_part3 like `s/cpart`; describe extended nzhang_part3; set hive.merge.mapfiles=false; @@ -13,9 +47,9 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; explain -insert overwrite table nzhang_part3 partition (ds, hr) select key, value, ds, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part3 partition (ds, hr) select key, value, ds, hr from `s/cpart` where ds is not null and hr is not null; -insert overwrite table nzhang_part3 partition (ds, hr) select key, value, ds, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part3 partition (ds, hr) select key, value, ds, hr from `s/cpart` where ds is not null and hr is not null; select * from nzhang_part3 where ds is not null and hr is not null; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part4.q b/ql/src/test/queries/clientpositive/load_dyn_part4.q index b46613d..1fa472a 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part4.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part4.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part4 like srcpart; +create table if not exists nzhang_part4 like `s/cpart`; describe extended nzhang_part4; set hive.merge.mapfiles=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -insert overwrite table nzhang_part4 partition (ds='2008-04-08', hr='existing_value') select key, value from src; +insert overwrite table nzhang_part4 partition (ds='2008-04-08', hr='existing_value') select key, value from `s/c`; explain -insert overwrite table nzhang_part4 partition (ds, hr) select key, value, ds, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part4 partition (ds, hr) select key, value, ds, hr from `s/cpart` where ds is not null and hr is not null; -insert overwrite table nzhang_part4 partition (ds, hr) select key, value, ds, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part4 partition (ds, hr) select key, value, ds, hr from `s/cpart` where ds is not null and hr is not null; show partitions nzhang_part4; select * from nzhang_part4 where ds='2008-04-08' and hr is not null; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part5.q b/ql/src/test/queries/clientpositive/load_dyn_part5.q index 5780f5d..151aecf 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part5.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table if not exists nzhang_part5 (key string) partitioned by (value string); @@ -10,9 +44,9 @@ set hive.exec.max.dynamic.partitions=2000; set hive.exec.max.dynamic.partitions.pernode=2000; explain -insert overwrite table nzhang_part5 partition (value) select key, value from src; +insert overwrite table nzhang_part5 partition (value) select key, value from `s/c`; -insert overwrite table nzhang_part5 partition (value) select key, value from src; +insert overwrite table nzhang_part5 partition (value) select key, value from `s/c`; show partitions nzhang_part5; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part6.q b/ql/src/test/queries/clientpositive/load_dyn_part6.q index b5e85ae..0e505f8 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part6.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part6.q @@ -1,15 +1,49 @@ -show partitions srcpart; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -create table if not exists nzhang_part6 like srcpart; +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +show partitions `s/cpart`; + + + +create table if not exists nzhang_part6 like `s/cpart`; describe extended nzhang_part6; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; set hive.exec.dynamic.partition=true; -insert overwrite table nzhang_part6 partition (ds="2010-03-03", hr) select key, value, hr from srcpart where ds is not null and hr is not null; +insert overwrite table nzhang_part6 partition (ds="2010-03-03", hr) select key, value, hr from `s/cpart` where ds is not null and hr is not null; select * from nzhang_part6 where ds = '2010-03-03' and hr = '11'; select * from nzhang_part6 where ds = '2010-03-03' and hr = '12'; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part7.q b/ql/src/test/queries/clientpositive/load_dyn_part7.q index b9e1da0..bd5d6de 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part7.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part7.q @@ -1,12 +1,46 @@ -show partitions srcpart; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -create table if not exists nzhang_part7 like srcpart; +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +show partitions `s/cpart`; + + + +create table if not exists nzhang_part7 like `s/cpart`; describe extended nzhang_part7; -insert overwrite table nzhang_part7 partition (ds='2010-03-03', hr='12') select key, value from srcpart where ds = '2008-04-08' and hr = '12'; +insert overwrite table nzhang_part7 partition (ds='2010-03-03', hr='12') select key, value from `s/cpart` where ds = '2008-04-08' and hr = '12'; show partitions nzhang_part7; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part8.q b/ql/src/test/queries/clientpositive/load_dyn_part8.q index 1806c84..9fc6dfa 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part8.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part8.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part8 like srcpart; +create table if not exists nzhang_part8 like `s/cpart`; describe extended nzhang_part8; set hive.merge.mapfiles=false; @@ -12,11 +46,11 @@ set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; explain extended -from srcpart +from `s/cpart` insert overwrite table nzhang_part8 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part8 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table nzhang_part8 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part8 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/load_dyn_part9.q b/ql/src/test/queries/clientpositive/load_dyn_part9.q index 58eb66c..d691f68 100644 --- a/ql/src/test/queries/clientpositive/load_dyn_part9.q +++ b/ql/src/test/queries/clientpositive/load_dyn_part9.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; -create table if not exists nzhang_part9 like srcpart; +create table if not exists nzhang_part9 like `s/cpart`; describe extended nzhang_part9; set hive.merge.mapfiles=false; @@ -12,10 +46,10 @@ set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; explain -from srcpart +from `s/cpart` insert overwrite table nzhang_part9 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table nzhang_part9 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/load_exist_part_authsuccess.q b/ql/src/test/queries/clientpositive/load_exist_part_authsuccess.q index 35eb219..88e4bd5 100644 --- a/ql/src/test/queries/clientpositive/load_exist_part_authsuccess.q +++ b/ql/src/test/queries/clientpositive/load_exist_part_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table hive_test_src ( col1 string ) partitioned by (pcol1 string) stored as textfile; alter table hive_test_src add partition (pcol1 = 'test_part'); set hive.security.authorization.enabled=true; diff --git a/ql/src/test/queries/clientpositive/load_file_with_space_in_the_name.q b/ql/src/test/queries/clientpositive/load_file_with_space_in_the_name.q index 6bac47f..2a7ac9e 100644 --- a/ql/src/test/queries/clientpositive/load_file_with_space_in_the_name.q +++ b/ql/src/test/queries/clientpositive/load_file_with_space_in_the_name.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test for loading into tables with the file with space in the name diff --git a/ql/src/test/queries/clientpositive/load_fs.q b/ql/src/test/queries/clientpositive/load_fs.q index 2f06ca4..0feb519 100644 --- a/ql/src/test/queries/clientpositive/load_fs.q +++ b/ql/src/test/queries/clientpositive/load_fs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table load_overwrite (key string, value string) stored as textfile location 'file:${system:test.tmp.dir}/load_overwrite'; create table load_overwrite2 (key string, value string) stored as textfile location 'file:${system:test.tmp.dir}/load2_overwrite2'; diff --git a/ql/src/test/queries/clientpositive/load_fs2.q b/ql/src/test/queries/clientpositive/load_fs2.q index a75758a..c60873e 100644 --- a/ql/src/test/queries/clientpositive/load_fs2.q +++ b/ql/src/test/queries/clientpositive/load_fs2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-3300 [jira] LOAD DATA INPATH fails if a hdfs file with same name is added to table -- 'loader' table is used only for uploading kv1.txt to HDFS (!hdfs -put is not working on minMRDriver) diff --git a/ql/src/test/queries/clientpositive/load_fs_overwrite.q b/ql/src/test/queries/clientpositive/load_fs_overwrite.q index 51a8031..ba164bf 100644 --- a/ql/src/test/queries/clientpositive/load_fs_overwrite.q +++ b/ql/src/test/queries/clientpositive/load_fs_overwrite.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --HIVE 6209 drop table target; diff --git a/ql/src/test/queries/clientpositive/load_hdfs_file_with_space_in_the_name.q b/ql/src/test/queries/clientpositive/load_hdfs_file_with_space_in_the_name.q index 55ac1a8..c7cae72 100644 --- a/ql/src/test/queries/clientpositive/load_hdfs_file_with_space_in_the_name.q +++ b/ql/src/test/queries/clientpositive/load_hdfs_file_with_space_in_the_name.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/test_load_hdfs_file_with_space_in_the_name/; dfs -copyFromLocal ../../data/files hdfs:///tmp/test_load_hdfs_file_with_space_in_the_name/.; diff --git a/ql/src/test/queries/clientpositive/load_local_dir_test.q b/ql/src/test/queries/clientpositive/load_local_dir_test.q index 863afee..2a97c11 100644 --- a/ql/src/test/queries/clientpositive/load_local_dir_test.q +++ b/ql/src/test/queries/clientpositive/load_local_dir_test.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table load_local (id INT); diff --git a/ql/src/test/queries/clientpositive/load_nonpart_authsuccess.q b/ql/src/test/queries/clientpositive/load_nonpart_authsuccess.q index fdee451..38237cf 100644 --- a/ql/src/test/queries/clientpositive/load_nonpart_authsuccess.q +++ b/ql/src/test/queries/clientpositive/load_nonpart_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table hive_test_src ( col1 string ) stored as textfile; set hive.security.authorization.enabled=true; grant Update on table hive_test_src to user hive_test_user; diff --git a/ql/src/test/queries/clientpositive/load_orc.q b/ql/src/test/queries/clientpositive/load_orc.q index 2eaf098..c746fe1 100644 --- a/ql/src/test/queries/clientpositive/load_orc.q +++ b/ql/src/test/queries/clientpositive/load_orc.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.default.fileformat=ORC; create table orc_staging (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp); create table orc_test (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp); diff --git a/ql/src/test/queries/clientpositive/load_orc_part.q b/ql/src/test/queries/clientpositive/load_orc_part.q index 2ff884d..824b660 100644 --- a/ql/src/test/queries/clientpositive/load_orc_part.q +++ b/ql/src/test/queries/clientpositive/load_orc_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.default.fileformat=ORC; create table orc_staging (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp); create table orc_test (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) partitioned by (ds string); diff --git a/ql/src/test/queries/clientpositive/load_overwrite.q b/ql/src/test/queries/clientpositive/load_overwrite.q index 080c784..ef41e31 100644 --- a/ql/src/test/queries/clientpositive/load_overwrite.q +++ b/ql/src/test/queries/clientpositive/load_overwrite.q @@ -1,6 +1,40 @@ -create table load_overwrite like src; +DROP TABLE IF EXISTS `s/c`; -insert overwrite table load_overwrite select * from src; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +create table load_overwrite like `s/c`; + +insert overwrite table load_overwrite select * from `s/c`; show table extended like load_overwrite; select count(*) from load_overwrite; diff --git a/ql/src/test/queries/clientpositive/load_part_authsuccess.q b/ql/src/test/queries/clientpositive/load_part_authsuccess.q index cee5873..94c18b5 100644 --- a/ql/src/test/queries/clientpositive/load_part_authsuccess.q +++ b/ql/src/test/queries/clientpositive/load_part_authsuccess.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table hive_test_src ( col1 string ) partitioned by (pcol1 string) stored as textfile; set hive.security.authorization.enabled=true; grant Update on table hive_test_src to user hive_test_user; diff --git a/ql/src/test/queries/clientpositive/loadpart1.q b/ql/src/test/queries/clientpositive/loadpart1.q index 735befe..17f814b 100644 --- a/ql/src/test/queries/clientpositive/loadpart1.q +++ b/ql/src/test/queries/clientpositive/loadpart1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/loadpart2.q b/ql/src/test/queries/clientpositive/loadpart2.q index a252eaa..6eb3053 100644 --- a/ql/src/test/queries/clientpositive/loadpart2.q +++ b/ql/src/test/queries/clientpositive/loadpart2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table hive_test ( col1 string ) partitioned by ( pcol1 string , pcol2 string) stored as textfile; load data local inpath '../../data/files/test.dat' overwrite into table hive_test partition (pcol1='part1',pcol2='part1') ; diff --git a/ql/src/test/queries/clientpositive/loadpart_err.q b/ql/src/test/queries/clientpositive/loadpart_err.q index 86d63d1..c7ebede 100644 --- a/ql/src/test/queries/clientpositive/loadpart_err.q +++ b/ql/src/test/queries/clientpositive/loadpart_err.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cli.errors.ignore=true; ADD FILE ../../data/scripts/error_script; @@ -8,8 +42,8 @@ ADD FILE ../../data/scripts/error_script; CREATE TABLE loadpart1(a STRING, b STRING) PARTITIONED BY (ds STRING); INSERT OVERWRITE TABLE loadpart1 PARTITION (ds='2009-01-01') -SELECT TRANSFORM(src.key, src.value) USING 'error_script' AS (tkey, tvalue) -FROM src; +SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'error_script' AS (tkey, tvalue) +FROM `s/c`; DESCRIBE loadpart1; SHOW PARTITIONS loadpart1; diff --git a/ql/src/test/queries/clientpositive/lock1.q b/ql/src/test/queries/clientpositive/lock1.q index 326cf49..8bf0c31 100644 --- a/ql/src/test/queries/clientpositive/lock1.q +++ b/ql/src/test/queries/clientpositive/lock1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table tstsrc; -create table tstsrc like src; -insert overwrite table tstsrc select key, value from src; +create table tstsrc like `s/c`; +insert overwrite table tstsrc select key, value from `s/c`; SHOW LOCKS; SHOW LOCKS tstsrc; diff --git a/ql/src/test/queries/clientpositive/lock2.q b/ql/src/test/queries/clientpositive/lock2.q index c8bff56..f30780b 100644 --- a/ql/src/test/queries/clientpositive/lock2.q +++ b/ql/src/test/queries/clientpositive/lock2.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table tstsrc; -create table tstsrc like src; -insert overwrite table tstsrc select key, value from src; +create table tstsrc like `s/c`; +insert overwrite table tstsrc select key, value from `s/c`; drop table tstsrcpart; -create table tstsrcpart like srcpart; +create table tstsrcpart like `s/cpart`; insert overwrite table tstsrcpart partition (ds='2008-04-08', hr='11') -select key, value from srcpart where ds='2008-04-08' and hr='11'; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11'; LOCK TABLE tstsrc SHARED; LOCK TABLE tstsrcpart SHARED; diff --git a/ql/src/test/queries/clientpositive/lock3.q b/ql/src/test/queries/clientpositive/lock3.q index 7f2178f..4c4a598 100644 --- a/ql/src/test/queries/clientpositive/lock3.q +++ b/ql/src/test/queries/clientpositive/lock3.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table tstsrcpart; -create table tstsrcpart like srcpart; +create table tstsrcpart like `s/cpart`; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds='2008-04-08',hr='11') select key, value where ds='2008-04-08' and hr='11'; @@ -9,10 +43,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds ='2008-04-08', hr) select key, value, hr where ds = '2008-04-08'; @@ -25,7 +59,7 @@ drop table tst1; create table tst1 (key string, value string) partitioned by (a string, b string, c string, d string); -from srcpart +from `s/cpart` insert overwrite table tst1 partition (a='1', b='2', c, d) select key, value, ds, hr where ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/lock4.q b/ql/src/test/queries/clientpositive/lock4.q index e07bfe8..a53cb16 100644 --- a/ql/src/test/queries/clientpositive/lock4.q +++ b/ql/src/test/queries/clientpositive/lock4.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.lock.mapred.only.operation=true; drop table tstsrcpart; -create table tstsrcpart like srcpart; +create table tstsrcpart like `s/cpart`; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds='2008-04-08',hr='11') select key, value where ds='2008-04-08' and hr='11'; @@ -10,10 +44,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table tstsrcpart partition (ds ='2008-04-08', hr) select key, value, hr where ds = '2008-04-08'; @@ -26,7 +60,7 @@ drop table tst1; create table tst1 (key string, value string) partitioned by (a string, b string, c string, d string); -from srcpart +from `s/cpart` insert overwrite table tst1 partition (a='1', b='2', c, d) select key, value, ds, hr where ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/louter_join_ppr.q b/ql/src/test/queries/clientpositive/louter_join_ppr.q index 90d6724..aeeaf95 100644 --- a/ql/src/test/queries/clientpositive/louter_join_ppr.q +++ b/ql/src/test/queries/clientpositive/louter_join_ppr.q @@ -1,37 +1,71 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- SORT_QUERY_RESULTS EXPLAIN EXTENDED FROM - src a + `s/c` a LEFT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a LEFT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - srcpart a + `s/cpart` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; @@ -39,34 +73,34 @@ EXPLAIN EXTENDED EXPLAIN EXTENDED FROM - src a + `s/c` a LEFT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; FROM - src a + `s/c` a LEFT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; FROM - srcpart a + `s/cpart` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/lvj_mapjoin.q b/ql/src/test/queries/clientpositive/lvj_mapjoin.q index b726e2a..a06a072 100644 --- a/ql/src/test/queries/clientpositive/lvj_mapjoin.q +++ b/ql/src/test/queries/clientpositive/lvj_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/macro.q b/ql/src/test/queries/clientpositive/macro.q index 47b05ff..717a8bb 100644 --- a/ql/src/test/queries/clientpositive/macro.q +++ b/ql/src/test/queries/clientpositive/macro.q @@ -1,27 +1,61 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; CREATE TEMPORARY MACRO SIGMOID (x DOUBLE) 1.0 / (1.0 + EXP(-x)); -SELECT SIGMOID(2) FROM src LIMIT 1; -EXPLAIN SELECT SIGMOID(2) FROM src LIMIT 1; -EXPLAIN EXTENDED SELECT SIGMOID(2) FROM src LIMIT 1; +SELECT SIGMOID(2) FROM `s/c` LIMIT 1; +EXPLAIN SELECT SIGMOID(2) FROM `s/c` LIMIT 1; +EXPLAIN EXTENDED SELECT SIGMOID(2) FROM `s/c` LIMIT 1; DROP TEMPORARY MACRO SIGMOID; CREATE TEMPORARY MACRO FIXED_NUMBER() 1; -SELECT FIXED_NUMBER() + 1 FROM src LIMIT 1; -EXPLAIN SELECT FIXED_NUMBER() + 1 FROM src LIMIT 1; -EXPLAIN EXTENDED SELECT FIXED_NUMBER() + 1 FROM src LIMIT 1; +SELECT FIXED_NUMBER() + 1 FROM `s/c` LIMIT 1; +EXPLAIN SELECT FIXED_NUMBER() + 1 FROM `s/c` LIMIT 1; +EXPLAIN EXTENDED SELECT FIXED_NUMBER() + 1 FROM `s/c` LIMIT 1; DROP TEMPORARY MACRO FIXED_NUMBER; set macrotest=1; CREATE TEMPORARY MACRO CONF_TEST() "${hiveconf:macrotest}"; -SELECT CONF_TEST() FROM src LIMIT 1; +SELECT CONF_TEST() FROM `s/c` LIMIT 1; DROP TEMPORARY MACRO CONF_TEST; CREATE TEMPORARY MACRO SIMPLE_ADD (x INT, y INT) x + y; CREATE TEMPORARY MACRO SIMPLE_ADD (x INT, y INT) x + y; -SELECT SIMPLE_ADD(1, 9) FROM src LIMIT 1; -EXPLAIN SELECT SIMPLE_ADD(1, 9) FROM src LIMIT 1; -EXPLAIN EXTENDED SELECT SIMPLE_ADD(1, 9) FROM src LIMIT 1; +SELECT SIMPLE_ADD(1, 9) FROM `s/c` LIMIT 1; +EXPLAIN SELECT SIMPLE_ADD(1, 9) FROM `s/c` LIMIT 1; +EXPLAIN EXTENDED SELECT SIMPLE_ADD(1, 9) FROM `s/c` LIMIT 1; DROP TEMPORARY MACRO SIMPLE_ADD; DROP TEMPORARY MACRO SIMPLE_ADD; diff --git a/ql/src/test/queries/clientpositive/macro_duplicate.q b/ql/src/test/queries/clientpositive/macro_duplicate.q index dba38b1..da212d2 100644 --- a/ql/src/test/queries/clientpositive/macro_duplicate.q +++ b/ql/src/test/queries/clientpositive/macro_duplicate.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table macro_testing; CREATE TABLE macro_testing(a int, b int, c int); diff --git a/ql/src/test/queries/clientpositive/mapjoin1.q b/ql/src/test/queries/clientpositive/mapjoin1.q index 49de907..2f7fa06 100644 --- a/ql/src/test/queries/clientpositive/mapjoin1.q +++ b/ql/src/test/queries/clientpositive/mapjoin1.q @@ -1,38 +1,72 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SELECT /*+ MAPJOIN(b) */ sum(a.key) as sum_a - FROM srcpart a - JOIN src b ON a.key = b.key where a.ds is not null; + FROM `s/cpart` a + JOIN `s/c` b ON a.key = b.key where a.ds is not null; set hive.outerjoin.supports.filters=true; -- const filter on outer join EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND true limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND true limit 10; -- func filter on outer join EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND b.key * 10 < '1000' limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND b.key * 10 < '1000' limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND b.key * 10 < '1000' limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND b.key * 10 < '1000' limit 10; -- field filter on outer join EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN - (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN - (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN + (select key, named_struct('key', key, 'value', value) as kv from `s/c`) b on a.key=b.key AND b.kv.key > 200 limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN + (select key, named_struct('key', key, 'value', value) as kv from `s/c`) b on a.key=b.key AND b.kv.key > 200 limit 10; set hive.outerjoin.supports.filters=false; EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND true limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND true limit 10; EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND b.key * 10 < '1000' limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND b.key * 10 < '1000' limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND b.key * 10 < '1000' limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on a.key=b.key AND b.key * 10 < '1000' limit 10; EXPLAIN -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN - (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10; -SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN - (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN + (select key, named_struct('key', key, 'value', value) as kv from `s/c`) b on a.key=b.key AND b.kv.key > 200 limit 10; +SELECT /*+ MAPJOIN(a) */ * FROM `s/c` a RIGHT OUTER JOIN + (select key, named_struct('key', key, 'value', value) as kv from `s/c`) b on a.key=b.key AND b.kv.key > 200 limit 10; diff --git a/ql/src/test/queries/clientpositive/mapjoin_addjar.q b/ql/src/test/queries/clientpositive/mapjoin_addjar.q index f56f074..88895a6 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_addjar.q +++ b/ql/src/test/queries/clientpositive/mapjoin_addjar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.join.use.nonstaged=false; @@ -8,7 +42,7 @@ CREATE TABLE t1 (a string, b string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' ; LOAD DATA LOCAL INPATH "../../data/files/sample.json" INTO TABLE t1; -select * from src join t1 on src.key =t1.a; +select * from `s/c` join t1 on `s/c`.key =t1.a; drop table t1; set hive.auto.convert.join=false; diff --git a/ql/src/test/queries/clientpositive/mapjoin_decimal.q b/ql/src/test/queries/clientpositive/mapjoin_decimal.q index 105195b..07e5c9d 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_decimal.q +++ b/ql/src/test/queries/clientpositive/mapjoin_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; diff --git a/ql/src/test/queries/clientpositive/mapjoin_distinct.q b/ql/src/test/queries/clientpositive/mapjoin_distinct.q index d021c63..f8672b3 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_distinct.q +++ b/ql/src/test/queries/clientpositive/mapjoin_distinct.q @@ -1,26 +1,60 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; set hive.groupby.skewindata = true; explain -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value; -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; set hive.map.aggr = true; set hive.groupby.skewindata = false; explain -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value; -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; @@ -28,13 +62,13 @@ SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; set hive.map.aggr = false; set hive.groupby.skewindata = true; explain -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value; -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; @@ -42,13 +76,13 @@ SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; set hive.map.aggr = false; set hive.groupby.skewindata = false; explain -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value; -FROM srcpart c -JOIN srcpart d +FROM `s/cpart` c +JOIN `s/cpart` d ON ( c.key=d.key AND c.ds='2008-04-08' AND d.ds='2008-04-08') SELECT /*+ MAPJOIN(d) */ DISTINCT c.value as value order by value limit 10; diff --git a/ql/src/test/queries/clientpositive/mapjoin_filter_on_outerjoin.q b/ql/src/test/queries/clientpositive/mapjoin_filter_on_outerjoin.q index bc98ca8..41e646c 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_filter_on_outerjoin.q +++ b/ql/src/test/queries/clientpositive/mapjoin_filter_on_outerjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = false; -- SORT_QUERY_RESULTS @@ -6,18 +40,18 @@ set hive.auto.convert.join = false; SELECT * FROM src1 RIGHT OUTER JOIN src1 src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) - JOIN src src3 ON (src2.key = src3.key AND src3.key < 300) + JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 300) SORT BY src1.key, src2.key, src3.key; explain SELECT /*+ mapjoin(src1, src2) */ * FROM src1 RIGHT OUTER JOIN src1 src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) - JOIN src src3 ON (src2.key = src3.key AND src3.key < 300) + JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 300) SORT BY src1.key, src2.key, src3.key; SELECT /*+ mapjoin(src1, src2) */ * FROM src1 RIGHT OUTER JOIN src1 src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) - JOIN src src3 ON (src2.key = src3.key AND src3.key < 300) + JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 300) SORT BY src1.key, src2.key, src3.key; set hive.auto.convert.join = true; @@ -25,10 +59,10 @@ set hive.auto.convert.join = true; explain SELECT * FROM src1 RIGHT OUTER JOIN src1 src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) - JOIN src src3 ON (src2.key = src3.key AND src3.key < 300) + JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 300) SORT BY src1.key, src2.key, src3.key; SELECT * FROM src1 RIGHT OUTER JOIN src1 src2 ON (src1.key = src2.key AND src1.key < 10 AND src2.key > 10) - JOIN src src3 ON (src2.key = src3.key AND src3.key < 300) + JOIN `s/c` src3 ON (src2.key = src3.key AND src3.key < 300) SORT BY src1.key, src2.key, src3.key; diff --git a/ql/src/test/queries/clientpositive/mapjoin_hook.q b/ql/src/test/queries/clientpositive/mapjoin_hook.q index a9e1960..a59947f 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_hook.q +++ b/ql/src/test/queries/clientpositive/mapjoin_hook.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks = org.apache.hadoop.hive.ql.hooks.MapJoinCounterHook,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; drop table dest1; @@ -6,10 +40,10 @@ CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; set hive.auto.convert.join = true; INSERT OVERWRITE TABLE dest1 -SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN src y ON (x.key = y.key) group by x.key; +SELECT /*+ MAPJOIN(x) */ x.key, count(1) FROM src1 x JOIN `s/c` y ON (x.key = y.key) group by x.key; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; @@ -19,12 +53,12 @@ set hive.mapjoin.check.memory.rows = 2; set hive.auto.convert.join.noconditionaltask = false; -FROM srcpart src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/cpart` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src2.value where (src1.ds = '2008-04-08' or src1.ds = '2008-04-09' )and (src1.hr = '12' or src1.hr = '11'); -FROM src src1 JOIN src src2 ON (src1.key = src2.key) JOIN src src3 ON (src1.key + src2.key = src3.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) JOIN `s/c` src3 ON (src1.key + src2.key = src3.key) INSERT OVERWRITE TABLE dest1 SELECT src1.key, src3.value; diff --git a/ql/src/test/queries/clientpositive/mapjoin_mapjoin.q b/ql/src/test/queries/clientpositive/mapjoin_mapjoin.q index 9723b3a..8cc11d3 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_mapjoin.q +++ b/ql/src/test/queries/clientpositive/mapjoin_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; @@ -8,22 +42,22 @@ set hive.metastore.aggregate.stats.cache.enabled=false; -- SORT_QUERY_RESULTS -explain extended select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key); +explain extended select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key); explain -select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; explain -select count(*) from srcpart join src on (srcpart.value=src.value) join src src1 on (srcpart.key=src1.key) group by ds; +select count(*) from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join `s/c` src1 on (`s/cpart`.key=src1.key) group by ds; set hive.mapjoin.optimized.hashtable=false; -select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; -select count(*) from srcpart join src on (srcpart.value=src.value) join src src1 on (srcpart.key=src1.key) group by ds; +select count(*) from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join `s/c` src1 on (`s/cpart`.key=src1.key) group by ds; set hive.mapjoin.optimized.hashtable=true; -select srcpart.key from srcpart join src on (srcpart.value=src.value) join src1 on (srcpart.key=src1.key) where srcpart.value > 'val_450'; +select `s/cpart`.key from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join src1 on (`s/cpart`.key=src1.key) where `s/cpart`.value > 'val_450'; -select count(*) from srcpart join src on (srcpart.value=src.value) join src src1 on (srcpart.key=src1.key) group by ds; +select count(*) from `s/cpart` join `s/c` on (`s/cpart`.value=`s/c`.value) join `s/c` src1 on (`s/cpart`.key=src1.key) group by ds; diff --git a/ql/src/test/queries/clientpositive/mapjoin_memcheck.q b/ql/src/test/queries/clientpositive/mapjoin_memcheck.q index faddbee..8ed43ab 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_memcheck.q +++ b/ql/src/test/queries/clientpositive/mapjoin_memcheck.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = true; -- SORT_QUERY_RESULTS -create table src0 like src; -insert into table src0 select * from src where src.key < 10; +create table src0 like `s/c`; +insert into table src0 select * from `s/c` where `s/c`.key < 10; set hive.mapjoin.check.memory.rows=1; diff --git a/ql/src/test/queries/clientpositive/mapjoin_subquery.q b/ql/src/test/queries/clientpositive/mapjoin_subquery.q index d0b58d5..c15c570 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_subquery.q +++ b/ql/src/test/queries/clientpositive/mapjoin_subquery.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; set hive.auto.convert.join.noconditionaltask.size=10000; @@ -9,24 +43,24 @@ EXPLAIN SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); EXPLAIN SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); SELECT subq.key1, z.value FROM (SELECT x.key as key1, x.value as value1, y.key as key2, y.value as value2 - FROM src1 x JOIN src y ON (x.key = y.key)) subq - JOIN srcpart z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); + FROM src1 x JOIN `s/c` y ON (x.key = y.key)) subq + JOIN `s/cpart` z ON (subq.key1 = z.key and z.ds='2008-04-08' and z.hr=11); diff --git a/ql/src/test/queries/clientpositive/mapjoin_subquery2.q b/ql/src/test/queries/clientpositive/mapjoin_subquery2.q index aed8990..1b240c7 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_subquery2.q +++ b/ql/src/test/queries/clientpositive/mapjoin_subquery2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table x; drop table y; drop table z; diff --git a/ql/src/test/queries/clientpositive/mapjoin_test_outer.q b/ql/src/test/queries/clientpositive/mapjoin_test_outer.q index e2998d7..7fb5dab 100644 --- a/ql/src/test/queries/clientpositive/mapjoin_test_outer.q +++ b/ql/src/test/queries/clientpositive/mapjoin_test_outer.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join = false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/mapreduce1.q b/ql/src/test/queries/clientpositive/mapreduce1.q index e2b314f..e985040 100644 --- a/ql/src/test/queries/clientpositive/mapreduce1.q +++ b/ql/src/test/queries/clientpositive/mapreduce1.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey SORT BY ten, one; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey SORT BY ten, one; diff --git a/ql/src/test/queries/clientpositive/mapreduce2.q b/ql/src/test/queries/clientpositive/mapreduce2.q index 0398b49..cbdb18a 100644 --- a/ql/src/test/queries/clientpositive/mapreduce2.q +++ b/ql/src/test/queries/clientpositive/mapreduce2.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey; diff --git a/ql/src/test/queries/clientpositive/mapreduce3.q b/ql/src/test/queries/clientpositive/mapreduce3.q index c31ede7..06401c1 100644 --- a/ql/src/test/queries/clientpositive/mapreduce3.q +++ b/ql/src/test/queries/clientpositive/mapreduce3.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) SORT BY tvalue, tkey; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) SORT BY tvalue, tkey; diff --git a/ql/src/test/queries/clientpositive/mapreduce4.q b/ql/src/test/queries/clientpositive/mapreduce4.q index 0c15f1f..20e0c6f 100644 --- a/ql/src/test/queries/clientpositive/mapreduce4.q +++ b/ql/src/test/queries/clientpositive/mapreduce4.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey SORT BY ten DESC, one ASC; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (tkey, ten, one, tvalue) DISTRIBUTE BY tvalue, tkey SORT BY ten DESC, one ASC; diff --git a/ql/src/test/queries/clientpositive/mapreduce5.q b/ql/src/test/queries/clientpositive/mapreduce5.q index d7c53d2..8397245 100644 --- a/ql/src/test/queries/clientpositive/mapreduce5.q +++ b/ql/src/test/queries/clientpositive/mapreduce5.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -SELECT src.key as c1, CAST(src.key / 10 AS INT) as c2, CAST(src.key % 10 AS INT) as c3, src.value as c4 +SELECT `s/c`.key as c1, CAST(`s/c`.key / 10 AS INT) as c2, CAST(`s/c`.key % 10 AS INT) as c3, `s/c`.value as c4 DISTRIBUTE BY c4, c1 SORT BY c2 DESC, c3 ASC; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -SELECT src.key as c1, CAST(src.key / 10 AS INT) as c2, CAST(src.key % 10 AS INT) as c3, src.value as c4 +SELECT `s/c`.key as c1, CAST(`s/c`.key / 10 AS INT) as c2, CAST(`s/c`.key % 10 AS INT) as c3, `s/c`.value as c4 DISTRIBUTE BY c4, c1 SORT BY c2 DESC, c3 ASC; diff --git a/ql/src/test/queries/clientpositive/mapreduce6.q b/ql/src/test/queries/clientpositive/mapreduce6.q index c37181d..2fd58f8 100644 --- a/ql/src/test/queries/clientpositive/mapreduce6.q +++ b/ql/src/test/queries/clientpositive/mapreduce6.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -SELECT src.key, CAST(src.key / 10 AS INT) as c2, CAST(src.key % 10 AS INT) as c3, src.value +SELECT `s/c`.key, CAST(`s/c`.key / 10 AS INT) as c2, CAST(`s/c`.key % 10 AS INT) as c3, `s/c`.value DISTRIBUTE BY value, key SORT BY c2 DESC, c3 ASC; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -SELECT src.key, CAST(src.key / 10 AS INT) as c2, CAST(src.key % 10 AS INT) as c3, src.value +SELECT `s/c`.key, CAST(`s/c`.key / 10 AS INT) as c2, CAST(`s/c`.key % 10 AS INT) as c3, `s/c`.value DISTRIBUTE BY value, key SORT BY c2 DESC, c3 ASC; diff --git a/ql/src/test/queries/clientpositive/mapreduce7.q b/ql/src/test/queries/clientpositive/mapreduce7.q index 0da41d2..79ca6cd 100644 --- a/ql/src/test/queries/clientpositive/mapreduce7.q +++ b/ql/src/test/queries/clientpositive/mapreduce7.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(k STRING, v STRING, key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.*, src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.*, `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (k, v, tkey, ten, one, tvalue) SORT BY tvalue, tkey; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.*, src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.*, `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (k, v, tkey, ten, one, tvalue) SORT BY tvalue, tkey; diff --git a/ql/src/test/queries/clientpositive/mapreduce8.q b/ql/src/test/queries/clientpositive/mapreduce8.q index 35d9ed9..91aa570 100644 --- a/ql/src/test/queries/clientpositive/mapreduce8.q +++ b/ql/src/test/queries/clientpositive/mapreduce8.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(k STRING, v STRING, key INT, ten INT, one INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.*, src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.*, `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (k, v, tkey, ten, one, tvalue) DISTRIBUTE BY rand(3) SORT BY tvalue, tkey; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE dest1 -MAP src.*, src.key, CAST(src.key / 10 AS INT), CAST(src.key % 10 AS INT), src.value +MAP `s/c`.*, `s/c`.key, CAST(`s/c`.key / 10 AS INT), CAST(`s/c`.key % 10 AS INT), `s/c`.value USING 'cat' AS (k, v, tkey, ten, one, tvalue) DISTRIBUTE BY rand(3) SORT BY tvalue, tkey; diff --git a/ql/src/test/queries/clientpositive/merge1.q b/ql/src/test/queries/clientpositive/merge1.q index 847a50b..b6a03ea 100644 --- a/ql/src/test/queries/clientpositive/merge1.q +++ b/ql/src/test/queries/clientpositive/merge1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.mapredfiles=true; set hive.merge.sparkfiles=true; @@ -8,10 +42,10 @@ create table dest1(key int, val int); explain insert overwrite table dest1 -select key, count(1) from src group by key; +select key, count(1) from `s/c` group by key; insert overwrite table dest1 -select key, count(1) from src group by key; +select key, count(1) from `s/c` group by key; select * from dest1; @@ -20,8 +54,8 @@ drop table dest1; create table test_src(key string, value string) partitioned by (ds string); create table dest1(key string); -insert overwrite table test_src partition(ds='101') select * from src; -insert overwrite table test_src partition(ds='102') select * from src; +insert overwrite table test_src partition(ds='101') select * from `s/c`; +insert overwrite table test_src partition(ds='102') select * from `s/c`; explain insert overwrite table dest1 select key from test_src; diff --git a/ql/src/test/queries/clientpositive/merge2.q b/ql/src/test/queries/clientpositive/merge2.q index c36a909..1bbfb1a 100644 --- a/ql/src/test/queries/clientpositive/merge2.q +++ b/ql/src/test/queries/clientpositive/merge2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; @@ -13,10 +47,10 @@ create table test1(key int, val int); explain insert overwrite table test1 -select key, count(1) from src group by key; +select key, count(1) from `s/c` group by key; insert overwrite table test1 -select key, count(1) from src group by key; +select key, count(1) from `s/c` group by key; select * from test1; @@ -26,8 +60,8 @@ drop table test1; create table test_src(key string, value string) partitioned by (ds string); create table test1(key string); -insert overwrite table test_src partition(ds='101') select * from src; -insert overwrite table test_src partition(ds='102') select * from src; +insert overwrite table test_src partition(ds='101') select * from `s/c`; +insert overwrite table test_src partition(ds='102') select * from `s/c`; explain insert overwrite table test1 select key from test_src; diff --git a/ql/src/test/queries/clientpositive/merge3.q b/ql/src/test/queries/clientpositive/merge3.q index 7091dbc..2e94ba3 100644 --- a/ql/src/test/queries/clientpositive/merge3.q +++ b/ql/src/test/queries/clientpositive/merge3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -7,10 +41,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_QUERY_RESULTS create table merge_src as -select key, value from srcpart where ds is not null; +select key, value from `s/cpart` where ds is not null; create table merge_src_part (key string, value string) partitioned by (ds string); -insert overwrite table merge_src_part partition(ds) select key, value, ds from srcpart where ds is not null; +insert overwrite table merge_src_part partition(ds) select key, value, ds from `s/cpart` where ds is not null; set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; diff --git a/ql/src/test/queries/clientpositive/merge4.q b/ql/src/test/queries/clientpositive/merge4.q index ca3cedf..b0addf5 100644 --- a/ql/src/test/queries/clientpositive/merge4.q +++ b/ql/src/test/queries/clientpositive/merge4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -6,34 +40,34 @@ set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_QUERY_RESULTS -create table nzhang_part like srcpart; +create table nzhang_part like `s/cpart`; explain -insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select key, value, hr from srcpart where ds='2008-04-08'; +insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; -insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select key, value, hr from srcpart where ds='2008-04-08'; +insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select key, value, hr from `s/cpart` where ds='2008-04-08'; select * from nzhang_part; explain -insert overwrite table nzhang_part partition (ds='2010-08-15', hr=11) select key, value from srcpart where ds='2008-04-08'; +insert overwrite table nzhang_part partition (ds='2010-08-15', hr=11) select key, value from `s/cpart` where ds='2008-04-08'; -insert overwrite table nzhang_part partition (ds='2010-08-15', hr=11) select key, value from srcpart where ds='2008-04-08'; +insert overwrite table nzhang_part partition (ds='2010-08-15', hr=11) select key, value from `s/cpart` where ds='2008-04-08'; select * from nzhang_part; explain insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select * from ( - select key, value, hr from srcpart where ds='2008-04-08' + select key, value, hr from `s/cpart` where ds='2008-04-08' union all - select '1' as key, '1' as value, 'file,' as hr from src limit 1) s; + select '1' as key, '1' as value, 'file,' as hr from `s/c` limit 1) s; insert overwrite table nzhang_part partition (ds='2010-08-15', hr) select * from ( - select key, value, hr from srcpart where ds='2008-04-08' + select key, value, hr from `s/cpart` where ds='2008-04-08' union all - select '1' as key, '1' as value, 'file,' as hr from src limit 1) s; + select '1' as key, '1' as value, 'file,' as hr from `s/c` limit 1) s; show partitions nzhang_part; diff --git a/ql/src/test/queries/clientpositive/merge_dynamic_partition.q b/ql/src/test/queries/clientpositive/merge_dynamic_partition.q index 848c45f..5331393 100644 --- a/ql/src/test/queries/clientpositive/merge_dynamic_partition.q +++ b/ql/src/test/queries/clientpositive/merge_dynamic_partition.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_QUERY_RESULTS -create table srcpart_merge_dp like srcpart; +create table srcpart_merge_dp like `s/cpart`; -create table merge_dynamic_part like srcpart; +create table merge_dynamic_part like `s/cpart`; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); diff --git a/ql/src/test/queries/clientpositive/merge_dynamic_partition2.q b/ql/src/test/queries/clientpositive/merge_dynamic_partition2.q index 73a71e6..fdbd0ce 100644 --- a/ql/src/test/queries/clientpositive/merge_dynamic_partition2.q +++ b/ql/src/test/queries/clientpositive/merge_dynamic_partition2.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table srcpart_merge_dp like srcpart; +create table srcpart_merge_dp like `s/cpart`; -create table merge_dynamic_part like srcpart; +create table merge_dynamic_part like `s/cpart`; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); diff --git a/ql/src/test/queries/clientpositive/merge_dynamic_partition3.q b/ql/src/test/queries/clientpositive/merge_dynamic_partition3.q index 79ae2b9..948ad1b 100644 --- a/ql/src/test/queries/clientpositive/merge_dynamic_partition3.q +++ b/ql/src/test/queries/clientpositive/merge_dynamic_partition3.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_QUERY_RESULTS -create table srcpart_merge_dp like srcpart; +create table srcpart_merge_dp like `s/cpart`; -create table merge_dynamic_part like srcpart; +create table merge_dynamic_part like `s/cpart`; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); load data local inpath '../../data/files/srcbucket21.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); diff --git a/ql/src/test/queries/clientpositive/merge_dynamic_partition4.q b/ql/src/test/queries/clientpositive/merge_dynamic_partition4.q index 5897170..8c4f469 100644 --- a/ql/src/test/queries/clientpositive/merge_dynamic_partition4.q +++ b/ql/src/test/queries/clientpositive/merge_dynamic_partition4.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test verifies that the block merge task that can follow a query to generate dynamic -- partitions does not produce incorrect results by dropping partitions -create table srcpart_merge_dp like srcpart; +create table srcpart_merge_dp like `s/cpart`; -create table srcpart_merge_dp_rc like srcpart; +create table srcpart_merge_dp_rc like `s/cpart`; alter table srcpart_merge_dp_rc set fileformat RCFILE; -create table merge_dynamic_part like srcpart; +create table merge_dynamic_part like `s/cpart`; alter table merge_dynamic_part set fileformat RCFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); diff --git a/ql/src/test/queries/clientpositive/merge_dynamic_partition5.q b/ql/src/test/queries/clientpositive/merge_dynamic_partition5.q index 9f64724..5e5b7df 100644 --- a/ql/src/test/queries/clientpositive/merge_dynamic_partition5.q +++ b/ql/src/test/queries/clientpositive/merge_dynamic_partition5.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this is to test the case where some dynamic partitions are merged and some are moved -create table srcpart_merge_dp like srcpart; +create table srcpart_merge_dp like `s/cpart`; -create table srcpart_merge_dp_rc like srcpart; +create table srcpart_merge_dp_rc like `s/cpart`; alter table srcpart_merge_dp_rc set fileformat RCFILE; -create table merge_dynamic_part like srcpart; +create table merge_dynamic_part like `s/cpart`; alter table merge_dynamic_part set fileformat RCFILE; load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcpart_merge_dp partition(ds='2008-04-08', hr=11); diff --git a/ql/src/test/queries/clientpositive/merge_join_1.q b/ql/src/test/queries/clientpositive/merge_join_1.q index 8954105..37196b2 100644 --- a/ql/src/test/queries/clientpositive/merge_join_1.q +++ b/ql/src/test/queries/clientpositive/merge_join_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists test_join_1; drop table if exists test_join_2; diff --git a/ql/src/test/queries/clientpositive/mergejoin.q b/ql/src/test/queries/clientpositive/mergejoin.q index 7550e09..a80389a 100644 --- a/ql/src/test/queries/clientpositive/mergejoin.q +++ b/ql/src/test/queries/clientpositive/mergejoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.join.emit.interval=100000; set hive.optimize.ppd=true; @@ -10,9 +44,9 @@ set hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS explain -select * from src a join src1 b on a.key = b.key; +select * from `s/c` a join src1 b on a.key = b.key; -select * from src a join src1 b on a.key = b.key; +select * from `s/c` a join src1 b on a.key = b.key; CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/mergejoins.q b/ql/src/test/queries/clientpositive/mergejoins.q index 2857c86..e57e751 100644 --- a/ql/src/test/queries/clientpositive/mergejoins.q +++ b/ql/src/test/queries/clientpositive/mergejoins.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table a (val1 int, val2 int); create table b (val1 int, val2 int); create table c (val1 int, val2 int); @@ -7,4 +41,4 @@ create table e (val1 int, val2 int); explain select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on a.val1=d.val1 join e on a.val2=e.val2; --HIVE-3070 filter on outer join condition removed while merging join tree -explain select * from src a join src b on a.key=b.key left outer join src c on b.key=c.key and b.key<10; +explain select * from `s/c` a join `s/c` b on a.key=b.key left outer join `s/c` c on b.key=c.key and b.key<10; diff --git a/ql/src/test/queries/clientpositive/mergejoins_mixed.q b/ql/src/test/queries/clientpositive/mergejoins_mixed.q index a7df4e3..93d95f7 100644 --- a/ql/src/test/queries/clientpositive/mergejoins_mixed.q +++ b/ql/src/test/queries/clientpositive/mergejoins_mixed.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-3464 create table a (key string, value string); diff --git a/ql/src/test/queries/clientpositive/metadataOnlyOptimizer.q b/ql/src/test/queries/clientpositive/metadataOnlyOptimizer.q index d530f6a..2e2aed2 100644 --- a/ql/src/test/queries/clientpositive/metadataOnlyOptimizer.q +++ b/ql/src/test/queries/clientpositive/metadataOnlyOptimizer.q @@ -1,44 +1,78 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select key from( -select '1' as key from srcpart where ds="2008-04-09" +select '1' as key from `s/cpart` where ds="2008-04-09" UNION all -SELECT key from srcpart where ds="2008-04-09" and hr="11" +SELECT key from `s/cpart` where ds="2008-04-09" and hr="11" ) tab group by key; select key from( -SELECT '1' as key from src +SELECT '1' as key from `s/c` UNION all -SELECT key as key from src +SELECT key as key from `s/c` ) tab group by key; select max(key) from( -SELECT '1' as key from src +SELECT '1' as key from `s/c` UNION all -SELECT key as key from src +SELECT key as key from `s/c` ) tab group by key; select key from( -SELECT '1' as key from src +SELECT '1' as key from `s/c` UNION all -SELECT '2' as key from src +SELECT '2' as key from `s/c` ) tab group by key; select key from( -SELECT '1' as key from src +SELECT '1' as key from `s/c` UNION all -SELECT key as key from src +SELECT key as key from `s/c` UNION all -SELECT '2' as key from src +SELECT '2' as key from `s/c` UNION all -SELECT key as key from src +SELECT key as key from `s/c` ) tab group by key; -select k from (select * from (SELECT '1' as k from src limit 0)a union all select key as k from src limit 1)tab; +select k from (select * from (SELECT '1' as k from `s/c` limit 0)a union all select key as k from `s/c` limit 1)tab; -select k from (select * from (SELECT '1' as k from src limit 1)a union all select key as k from src limit 0)tab; +select k from (select * from (SELECT '1' as k from `s/c` limit 1)a union all select key as k from `s/c` limit 0)tab; -select max(ds) from srcpart; +select max(ds) from `s/cpart`; -select count(ds) from srcpart; +select count(ds) from `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/metadata_export_drop.q b/ql/src/test/queries/clientpositive/metadata_export_drop.q index 2abc4cc..2d4a54b 100644 --- a/ql/src/test/queries/clientpositive/metadata_export_drop.q +++ b/ql/src/test/queries/clientpositive/metadata_export_drop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tmp_meta_export_listener_drop_test (foo string); dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/data/exports/HIVE-3427; set hive.metastore.pre.event.listeners=org.apache.hadoop.hive.ql.parse.MetaDataExportListener; diff --git a/ql/src/test/queries/clientpositive/metadata_only_queries.q b/ql/src/test/queries/clientpositive/metadata_only_queries.q index 56f3a78..dc40bf7 100644 --- a/ql/src/test/queries/clientpositive/metadata_only_queries.q +++ b/ql/src/test/queries/clientpositive/metadata_only_queries.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.stats.dbclass=fs; set hive.compute.query.using.stats=true; diff --git a/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q b/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q index e016ef8..c195fc2 100644 --- a/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q +++ b/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.compute.query.using.stats=true; create table over10k( diff --git a/ql/src/test/queries/clientpositive/metadataonly1.q b/ql/src/test/queries/clientpositive/metadataonly1.q index eb59529..888877d 100644 --- a/ql/src/test/queries/clientpositive/metadataonly1.q +++ b/ql/src/test/queries/clientpositive/metadataonly1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TEST1(A INT, B DOUBLE) partitioned by (ds string); explain extended select max(ds) from TEST1; select max(ds) from TEST1; @@ -34,8 +68,8 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; explain extended select max(ds) from TEST1; select max(ds) from TEST1; -select distinct ds from srcpart; -select min(ds),max(ds) from srcpart; +select distinct ds from `s/cpart`; +select min(ds),max(ds) from `s/cpart`; -- HIVE-3594 URI encoding for temporary path alter table TEST2 add partition (ds='01:10:10', hr='01'); diff --git a/ql/src/test/queries/clientpositive/mi.q b/ql/src/test/queries/clientpositive/mi.q index 52578bc..e423f72 100644 --- a/ql/src/test/queries/clientpositive/mi.q +++ b/ql/src/test/queries/clientpositive/mi.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -- SORT_QUERY_RESULTS -create table nzhang_t1 like srcpart; -create table nzhang_t2 like srcpart; +create table nzhang_t1 like `s/cpart`; +create table nzhang_t2 like `s/cpart`; -FROM srcpart +FROM `s/cpart` INSERT OVERWRITE TABLE nzhang_t1 PARTITION (ds, hr) SELECT key, value, ds, hr WHERE ds = '2008-04-08' AND hr = '11' diff --git a/ql/src/test/queries/clientpositive/misc_json.q b/ql/src/test/queries/clientpositive/misc_json.q index 541e369..b700f7d 100644 --- a/ql/src/test/queries/clientpositive/misc_json.q +++ b/ql/src/test/queries/clientpositive/misc_json.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.ddl.output.format=json; CREATE TABLE IF NOT EXISTS jsontable (key INT, value STRING) COMMENT 'json table' STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/mrr.q b/ql/src/test/queries/clientpositive/mrr.q index 2ec3f50..1709da6 100644 --- a/ql/src/test/queries/clientpositive/mrr.q +++ b/ql/src/test/queries/clientpositive/mrr.q @@ -1,21 +1,55 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join.noconditionaltask.size=60000000; -- simple query with multiple reduce stages -- SORT_QUERY_RESULTS -EXPLAIN SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt; -SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt; +EXPLAIN SELECT key, count(value) as cnt FROM `s/c` GROUP BY key ORDER BY cnt; +SELECT key, count(value) as cnt FROM `s/c` GROUP BY key ORDER BY cnt; set hive.auto.convert.join=false; -- join query with multiple reduce stages; -EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; -SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; +EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM `s/c` s1 join `s/c` s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; +SELECT s2.key, count(distinct s2.value) as cnt FROM `s/c` s1 join `s/c` s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; set hive.auto.convert.join=true; -- same query with broadcast join -EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; -SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; +EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM `s/c` s1 join `s/c` s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; +SELECT s2.key, count(distinct s2.value) as cnt FROM `s/c` s1 join `s/c` s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt; set hive.auto.convert.join=false; -- query with multiple branches in the task dag @@ -23,13 +57,13 @@ EXPLAIN SELECT * FROM (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s1 + FROM `s/c` GROUP BY key ORDER BY cnt) s1 JOIN (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s2 + FROM `s/c` GROUP BY key ORDER BY cnt) s2 JOIN (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s3 + FROM `s/c` GROUP BY key ORDER BY cnt) s3 ON (s1.key = s2.key and s1.key = s3.key) WHERE s1.cnt > 1 @@ -38,13 +72,13 @@ ORDER BY s1.key; SELECT * FROM (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s1 + FROM `s/c` GROUP BY key ORDER BY cnt) s1 JOIN (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s2 + FROM `s/c` GROUP BY key ORDER BY cnt) s2 JOIN (SELECT key, count(value) as cnt - FROM src GROUP BY key ORDER BY cnt) s3 + FROM `s/c` GROUP BY key ORDER BY cnt) s3 ON (s1.key = s2.key and s1.key = s3.key) WHERE s1.cnt > 1 @@ -55,10 +89,10 @@ set hive.auto.convert.join=true; EXPLAIN SELECT * FROM - (SELECT key, count(value) as cnt FROM src GROUP BY key) s1 - JOIN src ON (s1.key = src.key) order by s1.key; + (SELECT key, count(value) as cnt FROM `s/c` GROUP BY key) s1 + JOIN `s/c` ON (s1.key = `s/c`.key) order by s1.key; SELECT * FROM - (SELECT key, count(value) as cnt FROM src GROUP BY key) s1 - JOIN src ON (s1.key = src.key) order by s1.key; + (SELECT key, count(value) as cnt FROM `s/c` GROUP BY key) s1 + JOIN `s/c` ON (s1.key = `s/c`.key) order by s1.key; diff --git a/ql/src/test/queries/clientpositive/multiMapJoin1.q b/ql/src/test/queries/clientpositive/multiMapJoin1.q index 455f550..2429f95 100644 --- a/ql/src/test/queries/clientpositive/multiMapJoin1.q +++ b/ql/src/test/queries/clientpositive/multiMapJoin1.q @@ -1,40 +1,74 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.PostExecutePrinter,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; create table smallTbl1(key string, value string); -insert overwrite table smallTbl1 select * from src where key < 10; +insert overwrite table smallTbl1 select * from `s/c` where key < 10; create table smallTbl2(key string, value string); -insert overwrite table smallTbl2 select * from src where key < 10; +insert overwrite table smallTbl2 select * from `s/c` where key < 10; create table smallTbl3(key string, value string); -insert overwrite table smallTbl3 select * from src where key < 10; +insert overwrite table smallTbl3 select * from `s/c` where key < 10; create table smallTbl4(key string, value string); -insert overwrite table smallTbl4 select * from src where key < 10; +insert overwrite table smallTbl4 select * from `s/c` where key < 10; create table bigTbl(key string, value string); insert overwrite table bigTbl select * from ( - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` union all - select * from src + select * from `s/c` ) subq; set hive.auto.convert.join=true; @@ -106,25 +140,25 @@ create table bigTbl(key1 string, key2 string, value string); insert overwrite table bigTbl select * from ( - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` union all - select key as key1, key as key2, value from src + select key as key1, key as key2, value from `s/c` ) subq; set hive.auto.convert.join.noconditionaltask=false; diff --git a/ql/src/test/queries/clientpositive/multiMapJoin2.q b/ql/src/test/queries/clientpositive/multiMapJoin2.q index 141db4d..72886cd 100644 --- a/ql/src/test/queries/clientpositive/multiMapJoin2.q +++ b/ql/src/test/queries/clientpositive/multiMapJoin2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.PostExecutePrinter,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; @@ -6,15 +40,15 @@ set hive.auto.convert.join.noconditionaltask.size=6000; -- we will generate one MR job. EXPLAIN SELECT tmp.key -FROM (SELECT x1.key AS key FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) +FROM (SELECT x1.key AS key FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; SELECT tmp.key -FROM (SELECT x1.key AS key FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) +FROM (SELECT x1.key AS key FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; set hive.auto.convert.join.noconditionaltask.size=400; @@ -27,15 +61,15 @@ set hive.auto.convert.join.noconditionaltask.size=400; -- into that MR job. EXPLAIN SELECT tmp.key -FROM (SELECT x1.key AS key FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) +FROM (SELECT x1.key AS key FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; SELECT tmp.key -FROM (SELECT x1.key AS key FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) +FROM (SELECT x1.key AS key FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; set hive.auto.convert.join.noconditionaltask.size=6000; @@ -47,13 +81,13 @@ EXPLAIN SELECT tmp.key FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; SELECT tmp.key FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key UNION ALL - SELECT x2.key AS key FROM src x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp + SELECT x2.key AS key FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key)) tmp ORDER BY tmp.key; set hive.optimize.correlation=false; @@ -67,10 +101,10 @@ set hive.optimize.correlation=false; EXPLAIN SELECT tmp1.key as key, count(*) as cnt FROM (SELECT x1.key AS key - FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) + FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -78,10 +112,10 @@ ORDER BY key, cnt; SELECT tmp1.key as key, count(*) as cnt FROM (SELECT x1.key AS key - FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) + FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -95,10 +129,10 @@ set hive.optimize.correlation=true; EXPLAIN SELECT tmp1.key as key, count(*) as cnt FROM (SELECT x1.key AS key - FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) + FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -106,10 +140,10 @@ ORDER BY key, cnt; SELECT tmp1.key as key, count(*) as cnt FROM (SELECT x1.key AS key - FROM src x1 JOIN src1 y1 ON (x1.key = y1.key) + FROM `s/c` x1 JOIN src1 y1 ON (x1.key = y1.key) GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -129,7 +163,7 @@ FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -140,7 +174,7 @@ FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -157,7 +191,7 @@ FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -168,7 +202,7 @@ FROM (SELECT x1.key AS key FROM src1 x1 GROUP BY x1.key) tmp1 JOIN (SELECT x2.key AS key - FROM src x2 JOIN src1 y2 ON (x2.key = y2.key) + FROM `s/c` x2 JOIN src1 y2 ON (x2.key = y2.key) GROUP BY x2.key) tmp2 ON (tmp1.key = tmp2.key) GROUP BY tmp1.key @@ -177,7 +211,7 @@ ORDER BY key, cnt; -- Check if we can correctly handle partitioned table. CREATE TABLE part_table(key string, value string) PARTITIONED BY (partitionId int); INSERT OVERWRITE TABLE part_table PARTITION (partitionId=1) - SELECT key, value FROM src ORDER BY key, value LIMIT 100; + SELECT key, value FROM `s/c` ORDER BY key, value LIMIT 100; INSERT OVERWRITE TABLE part_table PARTITION (partitionId=2) SELECT key, value FROM src1 ORDER BY key, value; @@ -195,21 +229,21 @@ set hive.optimize.correlation=false; EXPLAIN SELECT * FROM ( SELECT c.key FROM - (SELECT a.key FROM src a JOIN src b ON a.key=b.key GROUP BY a.key) tmp - JOIN src c ON tmp.key=c.key + (SELECT a.key FROM `s/c` a JOIN `s/c` b ON a.key=b.key GROUP BY a.key) tmp + JOIN `s/c` c ON tmp.key=c.key UNION ALL SELECT c.key FROM - (SELECT a.key FROM src a JOIN src b ON a.key=b.key GROUP BY a.key) tmp - JOIN src c ON tmp.key=c.key + (SELECT a.key FROM `s/c` a JOIN `s/c` b ON a.key=b.key GROUP BY a.key) tmp + JOIN `s/c` c ON tmp.key=c.key ) x; SELECT * FROM ( SELECT c.key FROM - (SELECT a.key FROM src a JOIN src b ON a.key=b.key GROUP BY a.key) tmp - JOIN src c ON tmp.key=c.key + (SELECT a.key FROM `s/c` a JOIN `s/c` b ON a.key=b.key GROUP BY a.key) tmp + JOIN `s/c` c ON tmp.key=c.key UNION ALL SELECT c.key FROM - (SELECT a.key FROM src a JOIN src b ON a.key=b.key GROUP BY a.key) tmp - JOIN src c ON tmp.key=c.key + (SELECT a.key FROM `s/c` a JOIN `s/c` b ON a.key=b.key GROUP BY a.key) tmp + JOIN `s/c` c ON tmp.key=c.key ) x; diff --git a/ql/src/test/queries/clientpositive/multi_column_in.q b/ql/src/test/queries/clientpositive/multi_column_in.q index 18a56cc..0de2845 100644 --- a/ql/src/test/queries/clientpositive/multi_column_in.q +++ b/ql/src/test/queries/clientpositive/multi_column_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table emps; create table emps (empno int, deptno int, empname string); diff --git a/ql/src/test/queries/clientpositive/multi_insert.q b/ql/src/test/queries/clientpositive/multi_insert.q index 5947985..4f36875 100644 --- a/ql/src/test/queries/clientpositive/multi_insert.q +++ b/ql/src/test/queries/clientpositive/multi_insert.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -create table src_multi1 like src; -create table src_multi2 like src; +create table src_multi1 like `s/c`; +create table src_multi2 like `s/c`; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -23,11 +57,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -38,11 +72,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -53,11 +87,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -70,11 +104,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -86,11 +120,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -101,11 +135,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -117,11 +151,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -135,11 +169,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -150,11 +184,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -165,11 +199,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -180,11 +214,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -200,12 +234,12 @@ dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/hive_test/multiins_local/tem dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -217,12 +251,12 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -235,12 +269,12 @@ set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -252,12 +286,12 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; diff --git a/ql/src/test/queries/clientpositive/multi_insert_gby.q b/ql/src/test/queries/clientpositive/multi_insert_gby.q index 2d5a312..294041d 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_gby.q +++ b/ql/src/test/queries/clientpositive/multi_insert_gby.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS --HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables create table e1 (key string, count int); create table e2 (key string, count int); -explain FROM src +explain FROM `s/c` INSERT OVERWRITE TABLE e1 SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 SELECT key, COUNT(*) WHERE key>500 GROUP BY key; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE e1 SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 @@ -19,13 +53,13 @@ INSERT OVERWRITE TABLE e2 select * from e1; select * from e2; -explain FROM src +explain FROM `s/c` INSERT OVERWRITE TABLE e1 SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 SELECT key, COUNT(*) GROUP BY key; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE e1 SELECT key, COUNT(*) WHERE key>450 GROUP BY key INSERT OVERWRITE TABLE e2 diff --git a/ql/src/test/queries/clientpositive/multi_insert_gby2.q b/ql/src/test/queries/clientpositive/multi_insert_gby2.q index 46e2b19..4824d4b 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_gby2.q +++ b/ql/src/test/queries/clientpositive/multi_insert_gby2.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --HIVE-3699 Multiple insert overwrite into multiple tables query stores same results in all tables create table e1 (count int); create table e2 (percentile double); explain -FROM (select key, cast(key as double) as value from src order by key) a +FROM (select key, cast(key as double) as value from `s/c` order by key) a INSERT OVERWRITE TABLE e1 SELECT COUNT(*) INSERT OVERWRITE TABLE e2 SELECT percentile_approx(value, 0.5); -FROM (select key, cast(key as double) as value from src order by key) a +FROM (select key, cast(key as double) as value from `s/c` order by key) a INSERT OVERWRITE TABLE e1 SELECT COUNT(*) INSERT OVERWRITE TABLE e2 diff --git a/ql/src/test/queries/clientpositive/multi_insert_gby3.q b/ql/src/test/queries/clientpositive/multi_insert_gby3.q index 1221af4..95f6174 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_gby3.q +++ b/ql/src/test/queries/clientpositive/multi_insert_gby3.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table e1 (key string, keyD double); create table e2 (key string, keyD double, value string); create table e3 (key string, keyD double); explain -FROM (select key, cast(key as double) as keyD, value from src order by key) a +FROM (select key, cast(key as double) as keyD, value from `s/c` order by key) a INSERT OVERWRITE TABLE e1 SELECT key, COUNT(distinct value) group by key INSERT OVERWRITE TABLE e2 SELECT key, sum(keyD), value group by key, value; explain -FROM (select key, cast(key as double) as keyD, value from src order by key) a +FROM (select key, cast(key as double) as keyD, value from `s/c` order by key) a INSERT OVERWRITE TABLE e2 SELECT key, sum(keyD), value group by key, value INSERT OVERWRITE TABLE e1 SELECT key, COUNT(distinct value) group by key; -FROM (select key, cast(key as double) as keyD, value from src order by key) a +FROM (select key, cast(key as double) as keyD, value from `s/c` order by key) a INSERT OVERWRITE TABLE e1 SELECT key, COUNT(distinct value) group by key INSERT OVERWRITE TABLE e2 @@ -26,7 +60,7 @@ INSERT OVERWRITE TABLE e2 select * from e1; select * from e2; -FROM (select key, cast(key as double) as keyD, value from src order by key) a +FROM (select key, cast(key as double) as keyD, value from `s/c` order by key) a INSERT OVERWRITE TABLE e2 SELECT key, sum(keyD), value group by key, value INSERT OVERWRITE TABLE e1 @@ -36,7 +70,7 @@ select * from e1; select * from e2; explain -from src +from `s/c` insert overwrite table e1 select key, count(distinct value) group by key insert overwrite table e3 @@ -44,7 +78,7 @@ select value, count(distinct key) group by value; explain -FROM (select key, cast(key as double) as keyD, value from src order by key) a +FROM (select key, cast(key as double) as keyD, value from `s/c` order by key) a INSERT OVERWRITE TABLE e1 SELECT key, COUNT(distinct value) group by key INSERT OVERWRITE TABLE e2 diff --git a/ql/src/test/queries/clientpositive/multi_insert_lateral_view.q b/ql/src/test/queries/clientpositive/multi_insert_lateral_view.q index acf905f..2fa2622 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_lateral_view.q +++ b/ql/src/test/queries/clientpositive/multi_insert_lateral_view.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -create table src_10 as select * from src limit 10; +create table src_10 as select * from `s/c` limit 10; create table src_lv1 (key string, value string); create table src_lv2 (key string, value string); diff --git a/ql/src/test/queries/clientpositive/multi_insert_mixed.q b/ql/src/test/queries/clientpositive/multi_insert_mixed.q index 6d91973..83fa7f1 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_mixed.q +++ b/ql/src/test/queries/clientpositive/multi_insert_mixed.q @@ -1,17 +1,51 @@ -create table src_multi1 like src; -create table src_multi2 like src; -create table src_multi3 like src; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +create table src_multi1 like `s/c`; +create table src_multi2 like `s/c`; +create table src_multi3 like `s/c`; -- Testing the case where a map work contains both shuffling (ReduceSinkOperator) -- and inserting to output table (FileSinkOperator). explain -from src +from `s/c` insert overwrite table src_multi1 select key, count(1) group by key order by key insert overwrite table src_multi2 select value, count(1) group by value order by value insert overwrite table src_multi3 select * where key < 10; -from src +from `s/c` insert overwrite table src_multi1 select key, count(1) group by key order by key insert overwrite table src_multi2 select value, count(1) group by value order by value insert overwrite table src_multi3 select * where key < 10; diff --git a/ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q b/ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q index 3117713..fdf38ee 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q +++ b/ql/src/test/queries/clientpositive/multi_insert_move_tasks_share_dependencies.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.multi.insert.move.tasks.share.dependencies=true; -- SORT_QUERY_RESULTS -create table src_multi1 like src; -create table src_multi2 like src; +create table src_multi1 like `s/c`; +create table src_multi2 like `s/c`; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -25,11 +59,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -40,11 +74,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -55,11 +89,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -72,11 +106,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -88,11 +122,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -103,11 +137,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -119,11 +153,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 group by key, value insert overwrite table src_multi2 select * where key > 10 and key < 20 group by key, value; @@ -137,11 +171,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -152,11 +186,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -167,11 +201,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -182,11 +216,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; -from (select * from src union all select * from src) s +from (select * from `s/c` union all select * from `s/c`) s insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20; @@ -202,12 +236,12 @@ dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/hive_test/multiins_local/tem dfs -rmr ${system:test.tmp.dir}/hive_test/multiins_local; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -219,12 +253,12 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -237,12 +271,12 @@ set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -254,12 +288,12 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/0' select * where key = 0 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key = 2 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/4' select * where key = 4; @@ -271,11 +305,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; @@ -286,11 +320,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; @@ -301,11 +335,11 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; @@ -316,11 +350,11 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; @@ -331,13 +365,13 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key @@ -353,13 +387,13 @@ set hive.merge.mapfiles=false; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key @@ -375,13 +409,13 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=false; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key @@ -397,13 +431,13 @@ set hive.merge.mapfiles=true; set hive.merge.mapredfiles=true; explain -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/2' select * where key > 10 and key < 20 group by key, value cluster by value; -from src +from `s/c` insert overwrite table src_multi1 select * where key < 10 insert overwrite table src_multi2 select * where key > 10 and key < 20 insert overwrite local directory '${system:test.tmp.dir}/hive_test/multiins_local/1' select * where key < 10 group by key, value cluster by key diff --git a/ql/src/test/queries/clientpositive/multi_insert_union_src.q b/ql/src/test/queries/clientpositive/multi_insert_union_src.q index 088d756..54b7545 100644 --- a/ql/src/test/queries/clientpositive/multi_insert_union_src.q +++ b/ql/src/test/queries/clientpositive/multi_insert_union_src.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists src2; drop table if exists src_multi1; drop table if exists src_multi1; -CREATE TABLE src2 as SELECT * FROM src; +CREATE TABLE src2 as SELECT * FROM `s/c`; -create table src_multi1 like src; -create table src_multi2 like src; +create table src_multi1 like `s/c`; +create table src_multi2 like `s/c`; explain from (select * from src1 where key < 10 union all select * from src2 where key > 100) s diff --git a/ql/src/test/queries/clientpositive/multi_join_union.q b/ql/src/test/queries/clientpositive/multi_join_union.q index c555b38..c388e98 100644 --- a/ql/src/test/queries/clientpositive/multi_join_union.q +++ b/ql/src/test/queries/clientpositive/multi_join_union.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; -- SORT_QUERY_RESULTS -CREATE TABLE src11 as SELECT * FROM src; -CREATE TABLE src12 as SELECT * FROM src; -CREATE TABLE src13 as SELECT * FROM src; -CREATE TABLE src14 as SELECT * FROM src; +CREATE TABLE src11 as SELECT * FROM `s/c`; +CREATE TABLE src12 as SELECT * FROM `s/c`; +CREATE TABLE src13 as SELECT * FROM `s/c`; +CREATE TABLE src14 as SELECT * FROM `s/c`; EXPLAIN SELECT * FROM diff --git a/ql/src/test/queries/clientpositive/multi_sahooks.q b/ql/src/test/queries/clientpositive/multi_sahooks.q index a6cd1ef..d6af359 100644 --- a/ql/src/test/queries/clientpositive/multi_sahooks.q +++ b/ql/src/test/queries/clientpositive/multi_sahooks.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.semantic.analyzer.hook=org.apache.hadoop.hive.ql.metadata.DummySemanticAnalyzerHook1; drop table tbl_sahook; diff --git a/ql/src/test/queries/clientpositive/multigroupby_singlemr.q b/ql/src/test/queries/clientpositive/multigroupby_singlemr.q index a4e86ad..cf35aed 100644 --- a/ql/src/test/queries/clientpositive/multigroupby_singlemr.q +++ b/ql/src/test/queries/clientpositive/multigroupby_singlemr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE TBL(C1 INT, C2 INT, C3 INT, C4 INT); CREATE TABLE DEST1(d1 INT, d2 INT) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/nested_complex.q b/ql/src/test/queries/clientpositive/nested_complex.q index 6fd76b8..36220b8 100644 --- a/ql/src/test/queries/clientpositive/nested_complex.q +++ b/ql/src/test/queries/clientpositive/nested_complex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table nestedcomplex ( simple_int int, diff --git a/ql/src/test/queries/clientpositive/nested_complex_additional.q b/ql/src/test/queries/clientpositive/nested_complex_additional.q index 5677737..8af9972 100644 --- a/ql/src/test/queries/clientpositive/nested_complex_additional.q +++ b/ql/src/test/queries/clientpositive/nested_complex_additional.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table nestedcomplex_additional ( simple_int int, max_nested_array array>>>>>>>>>>>>>>>>>>>>>>>>, diff --git a/ql/src/test/queries/clientpositive/nestedvirtual.q b/ql/src/test/queries/clientpositive/nestedvirtual.q index 7b80941..9607571 100644 --- a/ql/src/test/queries/clientpositive/nestedvirtual.q +++ b/ql/src/test/queries/clientpositive/nestedvirtual.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE pokes (foo INT, bar STRING); create table pokes2(foo INT, bar STRING); diff --git a/ql/src/test/queries/clientpositive/newline.q b/ql/src/test/queries/clientpositive/newline.q index 49e9437..36e2ca5 100644 --- a/ql/src/test/queries/clientpositive/newline.q +++ b/ql/src/test/queries/clientpositive/newline.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + add file ../../data/scripts/newline.py; set hive.transform.escape.input=true; @@ -6,7 +40,7 @@ set hive.transform.escape.input=true; create table tmp_tmp(key string, value string) stored as rcfile; insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python newline.py' AS key, value FROM src limit 6; +'python newline.py' AS key, value FROM `s/c` limit 6; select * from tmp_tmp; @@ -20,7 +54,7 @@ add file ../../data/scripts/escapedcarriagereturn.py; create table tmp_tmp(key string, value string) stored as rcfile; insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python escapednewline.py' AS key, value FROM src limit 5; +'python escapednewline.py' AS key, value FROM `s/c` limit 5; select * from tmp_tmp; @@ -29,7 +63,7 @@ SELECT TRANSFORM(key, value) USING insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python escapedcarriagereturn.py' AS key, value FROM src limit 5; +'python escapedcarriagereturn.py' AS key, value FROM `s/c` limit 5; select * from tmp_tmp; @@ -38,7 +72,7 @@ SELECT TRANSFORM(key, value) USING insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python escapedtab.py' AS key, value FROM src limit 5; +'python escapedtab.py' AS key, value FROM `s/c` limit 5; select * from tmp_tmp; @@ -47,13 +81,13 @@ SELECT TRANSFORM(key, value) USING insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python doubleescapedtab.py' AS key, value FROM src limit 5; +'python doubleescapedtab.py' AS key, value FROM `s/c` limit 5; select * from tmp_tmp; SELECT TRANSFORM(key, value) USING 'cat' AS (key, value) FROM tmp_tmp; -SELECT key FROM (SELECT TRANSFORM ('a\tb', 'c') USING 'cat' AS (key, value) FROM src limit 1)a ORDER BY key ASC; +SELECT key FROM (SELECT TRANSFORM ('a\tb', 'c') USING 'cat' AS (key, value) FROM `s/c` limit 1)a ORDER BY key ASC; -SELECT value FROM (SELECT TRANSFORM ('a\tb', 'c') USING 'cat' AS (key, value) FROM src limit 1)a ORDER BY value ASC; +SELECT value FROM (SELECT TRANSFORM ('a\tb', 'c') USING 'cat' AS (key, value) FROM `s/c` limit 1)a ORDER BY value ASC; diff --git a/ql/src/test/queries/clientpositive/no_hooks.q b/ql/src/test/queries/clientpositive/no_hooks.q index bbd1fea..35396e5 100644 --- a/ql/src/test/queries/clientpositive/no_hooks.q +++ b/ql/src/test/queries/clientpositive/no_hooks.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.pre.hooks=; EXPLAIN -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; -SELECT * FROM src src1 JOIN src src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; +SELECT * FROM `s/c` src1 JOIN `s/c` src2 WHERE src1.key < 10 and src2.key < 10 SORT BY src1.key, src1.value, src2.key, src2.value; diff --git a/ql/src/test/queries/clientpositive/noalias_subq1.q b/ql/src/test/queries/clientpositive/noalias_subq1.q index dca8a42..8e2a9e9 100644 --- a/ql/src/test/queries/clientpositive/noalias_subq1.q +++ b/ql/src/test/queries/clientpositive/noalias_subq1.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT c1 FROM (select value as c1, key as c2 from src) x where c2 < 100; +SELECT c1 FROM (select value as c1, key as c2 from `s/c`) x where c2 < 100; -SELECT c1 FROM (select value as c1, key as c2 from src) x where c2 < 100; +SELECT c1 FROM (select value as c1, key as c2 from `s/c`) x where c2 < 100; diff --git a/ql/src/test/queries/clientpositive/nomore_ambiguous_table_col.q b/ql/src/test/queries/clientpositive/nomore_ambiguous_table_col.q index 6795475..6bb2df9 100644 --- a/ql/src/test/queries/clientpositive/nomore_ambiguous_table_col.q +++ b/ql/src/test/queries/clientpositive/nomore_ambiguous_table_col.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- was negative/ambiguous_table_col.q drop table ambiguous; create table ambiguous (key string, value string); -FROM src key +FROM `s/c` key INSERT OVERWRITE TABLE ambiguous SELECT key.key, key.value WHERE key.value < 'val_100'; drop table ambiguous; diff --git a/ql/src/test/queries/clientpositive/non_native_window_udf.q b/ql/src/test/queries/clientpositive/non_native_window_udf.q index c3b8845..7248abd 100644 --- a/ql/src/test/queries/clientpositive/non_native_window_udf.q +++ b/ql/src/test/queries/clientpositive/non_native_window_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create temporary function mylastval as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFLastValue'; diff --git a/ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q b/ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q index 4b762fd..039b71f 100644 --- a/ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q +++ b/ql/src/test/queries/clientpositive/nonblock_op_deduplicate.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- negative, references twice for result of funcion -explain select nkey, nkey + 1 from (select key + 1 as nkey, value from src) a; +explain select nkey, nkey + 1 from (select key + 1 as nkey, value from `s/c`) a; set hive.auto.convert.join=false; -- This test query is introduced for HIVE-4968. diff --git a/ql/src/test/queries/clientpositive/nonmr_fetch.q b/ql/src/test/queries/clientpositive/nonmr_fetch.q index 2a52888..5b827dd 100644 --- a/ql/src/test/queries/clientpositive/nonmr_fetch.q +++ b/ql/src/test/queries/clientpositive/nonmr_fetch.q @@ -1,91 +1,125 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=minimal; set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; -- backward compatible (minimal) -explain select * from src limit 10; -select * from src limit 10; +explain select * from `s/c` limit 10; +select * from `s/c` limit 10; -explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; -select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; +explain select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; -explain select key from src limit 10; -select key from src limit 10; +explain select key from `s/c` limit 10; +select key from `s/c` limit 10; -- negative, filter on non-partition column -explain select * from srcpart where key > 100 limit 10; -select * from srcpart where key > 100 limit 10; +explain select * from `s/cpart` where key > 100 limit 10; +select * from `s/cpart` where key > 100 limit 10; -- negative, table sampling -explain select * from src TABLESAMPLE (0.25 PERCENT) limit 10; -select * from src TABLESAMPLE (0.25 PERCENT) limit 10; +explain select * from `s/c` TABLESAMPLE (0.25 PERCENT) limit 10; +select * from `s/c` TABLESAMPLE (0.25 PERCENT) limit 10; set hive.fetch.task.conversion=more; -- backward compatible (more) -explain select * from src limit 10; -select * from src limit 10; +explain select * from `s/c` limit 10; +select * from `s/c` limit 10; -explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; -select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; +explain select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; -- select expression -explain select cast(key as int) * 10, upper(value) from src limit 10; -select cast(key as int) * 10, upper(value) from src limit 10; +explain select cast(key as int) * 10, upper(value) from `s/c` limit 10; +select cast(key as int) * 10, upper(value) from `s/c` limit 10; -- filter on non-partition column -explain select key from src where key < 100 limit 10; -select key from src where key < 100 limit 10; +explain select key from `s/c` where key < 100 limit 10; +select key from `s/c` where key < 100 limit 10; -- select expr for partitioned table -explain select key from srcpart where ds='2008-04-08' AND hr='11' limit 10; -select key from srcpart where ds='2008-04-08' AND hr='11' limit 10; +explain select key from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +select key from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; -- virtual columns -explain select *, BLOCK__OFFSET__INSIDE__FILE from src where key < 10 limit 10; -select *, BLOCK__OFFSET__INSIDE__FILE from src where key < 100 limit 10; +explain select *, BLOCK__OFFSET__INSIDE__FILE from `s/c` where key < 10 limit 10; +select *, BLOCK__OFFSET__INSIDE__FILE from `s/c` where key < 100 limit 10; -- virtual columns on partitioned table -explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart where key < 10 limit 30; -select *, BLOCK__OFFSET__INSIDE__FILE from srcpart where key < 10 limit 30; +explain select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where key < 10 limit 30; +select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where key < 10 limit 30; -- bucket sampling -explain select *, BLOCK__OFFSET__INSIDE__FILE from src TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); -select *, BLOCK__OFFSET__INSIDE__FILE from src TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); -explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); -select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); +explain select *, BLOCK__OFFSET__INSIDE__FILE from `s/c` TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); +select *, BLOCK__OFFSET__INSIDE__FILE from `s/c` TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); +explain select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); +select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 40 ON key); -- split sampling -explain select * from src TABLESAMPLE (0.25 PERCENT); -select * from src TABLESAMPLE (0.25 PERCENT); -explain select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (0.25 PERCENT); -select *, BLOCK__OFFSET__INSIDE__FILE from srcpart TABLESAMPLE (0.25 PERCENT); +explain select * from `s/c` TABLESAMPLE (0.25 PERCENT); +select * from `s/c` TABLESAMPLE (0.25 PERCENT); +explain select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` TABLESAMPLE (0.25 PERCENT); +select *, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` TABLESAMPLE (0.25 PERCENT); -- sub query explain -select key, value from (select value key,key value from src where key > 200) a where value < 250 limit 20; -select key, value from (select value key,key value from src where key > 200) a where value < 250 limit 20; +select key, value from (select value key,key value from `s/c` where key > 200) a where value < 250 limit 20; +select key, value from (select value key,key value from `s/c` where key > 200) a where value < 250 limit 20; -- lateral view explain -select key,X from srcpart lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20; -select key,X from srcpart lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20; +select key,X from `s/cpart` lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20; +select key,X from `s/cpart` lateral view explode(array(key,value)) L as x where (ds='2008-04-08' AND hr='11') limit 20; -- non deterministic func -explain select key, value, BLOCK__OFFSET__INSIDE__FILE from srcpart where ds="2008-04-09" AND rand() > 1; -select key, value, BLOCK__OFFSET__INSIDE__FILE from srcpart where ds="2008-04-09" AND rand() > 1; +explain select key, value, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where ds="2008-04-09" AND rand() > 1; +select key, value, BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where ds="2008-04-09" AND rand() > 1; -- negative, groupby -explain select key, count(value) from src group by key; +explain select key, count(value) from `s/c` group by key; -- negative, distinct -explain select distinct key, value from src; +explain select distinct key, value from `s/c`; -- negative, CTAS -explain create table srcx as select distinct key, value from src; +explain create table srcx as select distinct key, value from `s/c`; -- negative, analyze -explain analyze table src compute statistics; +explain analyze table `s/c` compute statistics; -- negative, join -explain select * from src join src src2 on src.key=src2.key; +explain select * from `s/c` join `s/c` src2 on `s/c`.key=src2.key; diff --git a/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q b/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q index 26f6f5b..c157cbd 100644 --- a/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q +++ b/ql/src/test/queries/clientpositive/nonmr_fetch_threshold.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; -explain select cast(key as int) * 10, upper(value) from src limit 10; +explain select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +explain select cast(key as int) * 10, upper(value) from `s/c` limit 10; set hive.fetch.task.conversion.threshold=10000; -explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; -explain select cast(key as int) * 10, upper(value) from src limit 10; +explain select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +explain select cast(key as int) * 10, upper(value) from `s/c` limit 10; -- Scans without limit (should be Fetch task now) -explain select concat(key, value) from src; +explain select concat(key, value) from `s/c`; set hive.fetch.task.conversion.threshold=100; -- from HIVE-7397, limit + partition pruning filter -explain select * from srcpart where ds='2008-04-08' AND hr='11' limit 10; -explain select cast(key as int) * 10, upper(value) from src limit 10; +explain select * from `s/cpart` where ds='2008-04-08' AND hr='11' limit 10; +explain select cast(key as int) * 10, upper(value) from `s/c` limit 10; -- Scans without limit (should not be Fetch task now) -explain select concat(key, value) from src; +explain select concat(key, value) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/nonreserved_keywords_input37.q b/ql/src/test/queries/clientpositive/nonreserved_keywords_input37.q index 6f00006..f11e1fe 100644 --- a/ql/src/test/queries/clientpositive/nonreserved_keywords_input37.q +++ b/ql/src/test/queries/clientpositive/nonreserved_keywords_input37.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE `table`(`string` string) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/docurl.txt' INTO TABLE `table`; diff --git a/ql/src/test/queries/clientpositive/nonreserved_keywords_insert_into1.q b/ql/src/test/queries/clientpositive/nonreserved_keywords_insert_into1.q index 5393664..bc81d56 100644 --- a/ql/src/test/queries/clientpositive/nonreserved_keywords_insert_into1.q +++ b/ql/src/test/queries/clientpositive/nonreserved_keywords_insert_into1.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE `insert`; CREATE TABLE `insert` (key INT, `as` STRING); -EXPLAIN INSERT INTO TABLE `insert` SELECT * FROM src LIMIT 100; -INSERT INTO TABLE `insert` SELECT * FROM src LIMIT 100; +EXPLAIN INSERT INTO TABLE `insert` SELECT * FROM `s/c` LIMIT 100; +INSERT INTO TABLE `insert` SELECT * FROM `s/c` LIMIT 100; SELECT SUM(HASH(hash)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (hash) FROM `insert` ) t; -EXPLAIN INSERT INTO TABLE `insert` SELECT * FROM src LIMIT 100; -INSERT INTO TABLE `insert` SELECT * FROM src LIMIT 100; +EXPLAIN INSERT INTO TABLE `insert` SELECT * FROM `s/c` LIMIT 100; +INSERT INTO TABLE `insert` SELECT * FROM `s/c` LIMIT 100; SELECT SUM(HASH(sum)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (sum) FROM `insert` ) t; SELECT COUNT(*) FROM `insert`; -EXPLAIN INSERT OVERWRITE TABLE `insert` SELECT * FROM src LIMIT 10; -INSERT OVERWRITE TABLE `insert` SELECT * FROM src LIMIT 10; +EXPLAIN INSERT OVERWRITE TABLE `insert` SELECT * FROM `s/c` LIMIT 10; +INSERT OVERWRITE TABLE `insert` SELECT * FROM `s/c` LIMIT 10; SELECT SUM(HASH(add)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (add) FROM `insert` ) t; diff --git a/ql/src/test/queries/clientpositive/notable_alias1.q b/ql/src/test/queries/clientpositive/notable_alias1.q index ed7e318..81c5023 100644 --- a/ql/src/test/queries/clientpositive/notable_alias1.q +++ b/ql/src/test/queries/clientpositive/notable_alias1.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(dummy STRING, key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', key, count(1) WHERE src.key < 100 group by key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', key, count(1) WHERE `s/c`.key < 100 group by key; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', key, count(1) WHERE src.key < 100 group by key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', key, count(1) WHERE `s/c`.key < 100 group by key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/notable_alias2.q b/ql/src/test/queries/clientpositive/notable_alias2.q index b9c963c..b26bae3 100644 --- a/ql/src/test/queries/clientpositive/notable_alias2.q +++ b/ql/src/test/queries/clientpositive/notable_alias2.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(dummy STRING, key INT, value DOUBLE) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', src.key, count(1) WHERE key < 100 group by src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', `s/c`.key, count(1) WHERE key < 100 group by `s/c`.key; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', src.key, count(1) WHERE key < 100 group by src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', `s/c`.key, count(1) WHERE key < 100 group by `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/notable_alias3.q b/ql/src/test/queries/clientpositive/notable_alias3.q index aa79674..d45ffc6 100644 --- a/ql/src/test/queries/clientpositive/notable_alias3.q +++ b/ql/src/test/queries/clientpositive/notable_alias3.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c string, key INT, value DOUBLE) STORED AS TEXTFILE; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', src.key, sum(src.value) WHERE src.key < 100 group by key; \ No newline at end of file +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', `s/c`.key, sum(`s/c`.value) WHERE `s/c`.key < 100 group by key; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/null_cast.q b/ql/src/test/queries/clientpositive/null_cast.q index bd0cb8d..7862fa7 100644 --- a/ql/src/test/queries/clientpositive/null_cast.q +++ b/ql/src/test/queries/clientpositive/null_cast.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT ARRAY(NULL, 0), ARRAY(NULL, ARRAY()), ARRAY(NULL, MAP()), ARRAY(NULL, STRUCT(0)) - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); SELECT ARRAY(NULL, 0), ARRAY(NULL, ARRAY()), ARRAY(NULL, MAP()), ARRAY(NULL, STRUCT(0)) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/null_column.q b/ql/src/test/queries/clientpositive/null_column.q index 4b43d60..26f7134 100644 --- a/ql/src/test/queries/clientpositive/null_column.q +++ b/ql/src/test/queries/clientpositive/null_column.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + @@ -20,7 +54,7 @@ dfs -cat ${system:test.warehouse.dir}/null_columns.out/*; create table temp_null2 (key string, value string) partitioned by (ds string); -insert overwrite table temp_null2 partition(ds='2010-04-01') select '1',NULL from src limit 1; +insert overwrite table temp_null2 partition(ds='2010-04-01') select '1',NULL from `s/c` limit 1; select * from temp_null2 where ds is not null; diff --git a/ql/src/test/queries/clientpositive/nullformat.q b/ql/src/test/queries/clientpositive/nullformat.q index c9a7dab..cbf0111 100644 --- a/ql/src/test/queries/clientpositive/nullformat.q +++ b/ql/src/test/queries/clientpositive/nullformat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- base table with null data DROP TABLE IF EXISTS base_tab; CREATE TABLE base_tab(a STRING, b STRING, c STRING, d STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/nullformatCTAS.q b/ql/src/test/queries/clientpositive/nullformatCTAS.q index d077981..d00ce6e 100644 --- a/ql/src/test/queries/clientpositive/nullformatCTAS.q +++ b/ql/src/test/queries/clientpositive/nullformatCTAS.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- base table with null data DROP TABLE IF EXISTS base_tab; CREATE TABLE base_tab(a STRING, b STRING, c STRING, d STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/nullformatdir.q b/ql/src/test/queries/clientpositive/nullformatdir.q index d298638..8bb3e90 100644 --- a/ql/src/test/queries/clientpositive/nullformatdir.q +++ b/ql/src/test/queries/clientpositive/nullformatdir.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- base table with null data DROP TABLE IF EXISTS base_tab; CREATE TABLE base_tab(a STRING, b STRING, c STRING, d STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/nullgroup.q b/ql/src/test/queries/clientpositive/nullgroup.q index 5ec67e5..fe684a9 100644 --- a/ql/src/test/queries/clientpositive/nullgroup.q +++ b/ql/src/test/queries/clientpositive/nullgroup.q @@ -1,31 +1,65 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; explain -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; set hive.map.aggr=true; set hive.groupby.skewindata=false; explain -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; set hive.map.aggr=false; set hive.groupby.skewindata=true; explain -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; set hive.map.aggr=false; set hive.groupby.skewindata=false; explain -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; -select count(1) from src x where x.key > 9999; +select count(1) from `s/c` x where x.key > 9999; diff --git a/ql/src/test/queries/clientpositive/nullgroup2.q b/ql/src/test/queries/clientpositive/nullgroup2.q index fecd6d4..9f8b655 100644 --- a/ql/src/test/queries/clientpositive/nullgroup2.q +++ b/ql/src/test/queries/clientpositive/nullgroup2.q @@ -1,31 +1,65 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; explain -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; set hive.map.aggr=true; set hive.groupby.skewindata=false; explain -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; set hive.map.aggr=false; set hive.groupby.skewindata=true; explain -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; set hive.map.aggr=false; set hive.groupby.skewindata=false; explain -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; -select x.key, count(1) from src x where x.key > 9999 group by x.key; +select x.key, count(1) from `s/c` x where x.key > 9999 group by x.key; diff --git a/ql/src/test/queries/clientpositive/nullgroup3.q b/ql/src/test/queries/clientpositive/nullgroup3.q index 19e5b10..f248258 100644 --- a/ql/src/test/queries/clientpositive/nullgroup3.q +++ b/ql/src/test/queries/clientpositive/nullgroup3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tstparttbl(KEY STRING, VALUE STRING) PARTITIONED BY(ds string) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE tstparttbl PARTITION (ds='2008-04-09'); LOAD DATA LOCAL INPATH '../../data/files/nullfile.txt' INTO TABLE tstparttbl PARTITION (ds='2008-04-08'); diff --git a/ql/src/test/queries/clientpositive/nullgroup4.q b/ql/src/test/queries/clientpositive/nullgroup4.q index 917d1a7..96989ef 100644 --- a/ql/src/test/queries/clientpositive/nullgroup4.q +++ b/ql/src/test/queries/clientpositive/nullgroup4.q @@ -1,31 +1,65 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=true; explain -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; set hive.map.aggr=true; set hive.groupby.skewindata=false; explain -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; set hive.map.aggr=false; set hive.groupby.skewindata=true; explain -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; set hive.map.aggr=false; set hive.groupby.skewindata=false; explain -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value) from src x where x.key = 9999; +select count(1), count(distinct x.value) from `s/c` x where x.key = 9999; diff --git a/ql/src/test/queries/clientpositive/nullgroup4_multi_distinct.q b/ql/src/test/queries/clientpositive/nullgroup4_multi_distinct.q index fcee629..de9f4c6 100644 --- a/ql/src/test/queries/clientpositive/nullgroup4_multi_distinct.q +++ b/ql/src/test/queries/clientpositive/nullgroup4_multi_distinct.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr=true; set hive.groupby.skewindata=false; explain -select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from src x where x.key = 9999; +select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from src x where x.key = 9999; +select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from `s/c` x where x.key = 9999; set hive.map.aggr=false; set hive.groupby.skewindata=false; explain -select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from src x where x.key = 9999; +select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from `s/c` x where x.key = 9999; -select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from src x where x.key = 9999; +select count(1), count(distinct x.value), count(distinct substr(x.value, 5)) from `s/c` x where x.key = 9999; diff --git a/ql/src/test/queries/clientpositive/nullgroup5.q b/ql/src/test/queries/clientpositive/nullgroup5.q index b4b68fb..06e2fa5 100644 --- a/ql/src/test/queries/clientpositive/nullgroup5.q +++ b/ql/src/test/queries/clientpositive/nullgroup5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tstparttbl(KEY STRING, VALUE STRING) PARTITIONED BY(ds string) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE tstparttbl PARTITION (ds='2009-04-09'); diff --git a/ql/src/test/queries/clientpositive/nullinput.q b/ql/src/test/queries/clientpositive/nullinput.q index 4a58ed5..6cf1de7 100644 --- a/ql/src/test/queries/clientpositive/nullinput.q +++ b/ql/src/test/queries/clientpositive/nullinput.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tstnullinut(a string, b string); select x.* from tstnullinut x; select x.a, count(1) from tstnullinut x group by x.a; diff --git a/ql/src/test/queries/clientpositive/nullinput2.q b/ql/src/test/queries/clientpositive/nullinput2.q index f5c0af8..a25e1ad 100644 --- a/ql/src/test/queries/clientpositive/nullinput2.q +++ b/ql/src/test/queries/clientpositive/nullinput2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table nulltbl(key int) partitioned by (ds string); diff --git a/ql/src/test/queries/clientpositive/nullscript.q b/ql/src/test/queries/clientpositive/nullscript.q index 11f4a7a..716fc2f 100644 --- a/ql/src/test/queries/clientpositive/nullscript.q +++ b/ql/src/test/queries/clientpositive/nullscript.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE nullscript(KEY STRING, VALUE STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE nullscript; diff --git a/ql/src/test/queries/clientpositive/num_op_type_conv.q b/ql/src/test/queries/clientpositive/num_op_type_conv.q index d51c210..83839a0 100644 --- a/ql/src/test/queries/clientpositive/num_op_type_conv.q +++ b/ql/src/test/queries/clientpositive/num_op_type_conv.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN SELECT null + 7, 1.0 - null, null + null, CAST(21 AS BIGINT) % CAST(5 AS TINYINT), CAST(21 AS BIGINT) % CAST(21 AS BIGINT), - 9 % "3" FROM src LIMIT 1; + 9 % "3" FROM `s/c` LIMIT 1; SELECT null + 7, 1.0 - null, null + null, CAST(21 AS BIGINT) % CAST(5 AS TINYINT), CAST(21 AS BIGINT) % CAST(21 AS BIGINT), - 9 % "3" FROM src LIMIT 1; + 9 % "3" FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/ops_comparison.q b/ql/src/test/queries/clientpositive/ops_comparison.q index ec9e807..f10ad22 100644 --- a/ql/src/test/queries/clientpositive/ops_comparison.q +++ b/ql/src/test/queries/clientpositive/ops_comparison.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -select 1.0 < 2.0 from src limit 1; -select 2.0 < 2.0 from src limit 1; -select 2.0 > 1.0 from src limit 1; -select 2.0 > 2.0 from src limit 1; - -select 'NaN' < 2.0 from src limit 1; -select 1.0 < 'NaN' from src limit 1; -select 1.0 > 'NaN' from src limit 1; -select 'NaN' > 2.0 from src limit 1; -select 'NaN' > 'NaN' from src limit 1; -select 'NaN' < 'NaN' from src limit 1; - -select 'NaN' = 2.0 from src limit 1; -select 1.0 = 'NaN' from src limit 1; -select 'NaN' = 2.0 from src limit 1; -select 'NaN' = 'NaN' from src limit 1; - -select 'NaN' <> 2.0 from src limit 1; -select 1.0 <> 'NaN' from src limit 1; -select 'NaN' <> 2.0 from src limit 1; -select 'NaN' <> 'NaN' from src limit 1; +select 1.0 < 2.0 from `s/c` limit 1; +select 2.0 < 2.0 from `s/c` limit 1; +select 2.0 > 1.0 from `s/c` limit 1; +select 2.0 > 2.0 from `s/c` limit 1; + +select 'NaN' < 2.0 from `s/c` limit 1; +select 1.0 < 'NaN' from `s/c` limit 1; +select 1.0 > 'NaN' from `s/c` limit 1; +select 'NaN' > 2.0 from `s/c` limit 1; +select 'NaN' > 'NaN' from `s/c` limit 1; +select 'NaN' < 'NaN' from `s/c` limit 1; + +select 'NaN' = 2.0 from `s/c` limit 1; +select 1.0 = 'NaN' from `s/c` limit 1; +select 'NaN' = 2.0 from `s/c` limit 1; +select 'NaN' = 'NaN' from `s/c` limit 1; + +select 'NaN' <> 2.0 from `s/c` limit 1; +select 1.0 <> 'NaN' from `s/c` limit 1; +select 'NaN' <> 2.0 from `s/c` limit 1; +select 'NaN' <> 'NaN' from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/optimize_nullscan.q b/ql/src/test/queries/clientpositive/optimize_nullscan.q index 89293c5..2517f88 100644 --- a/ql/src/test/queries/clientpositive/optimize_nullscan.q +++ b/ql/src/test/queries/clientpositive/optimize_nullscan.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=false; -- SORT_QUERY_RESULTS @@ -5,33 +39,33 @@ set hive.cbo.enable=false; -- Instead, we could improve the optimizer to recognize more cases, e.g. filter before join. explain extended -select key from src where false; -select key from src where false; +select key from `s/c` where false; +select key from `s/c` where false; explain extended -select count(key) from srcpart where 1=2 group by key; -select count(key) from srcpart where 1=2 group by key; +select count(key) from `s/cpart` where 1=2 group by key; +select count(key) from `s/cpart` where 1=2 group by key; explain extended -select * from (select key from src where false) a left outer join (select key from srcpart limit 0) b on a.key=b.key; -select * from (select key from src where false) a left outer join (select key from srcpart limit 0) b on a.key=b.key; +select * from (select key from `s/c` where false) a left outer join (select key from `s/cpart` limit 0) b on a.key=b.key; +select * from (select key from `s/c` where false) a left outer join (select key from `s/cpart` limit 0) b on a.key=b.key; explain extended -select count(key) from src where false union all select count(key) from srcpart ; -select count(key) from src where false union all select count(key) from srcpart ; +select count(key) from `s/c` where false union all select count(key) from `s/cpart` ; +select count(key) from `s/c` where false union all select count(key) from `s/cpart` ; explain extended -select * from (select key from src where false) a left outer join (select value from srcpart limit 0) b ; -select * from (select key from src where false) a left outer join (select value from srcpart limit 0) b ; +select * from (select key from `s/c` where false) a left outer join (select value from `s/cpart` limit 0) b ; +select * from (select key from `s/c` where false) a left outer join (select value from `s/cpart` limit 0) b ; explain extended -select * from (select key from src union all select src.key from src left outer join srcpart on src.key = srcpart.key) a where false; -select * from (select key from src union all select src.key from src left outer join srcpart on src.key = srcpart.key) a where false; +select * from (select key from `s/c` union all select `s/c`.key from `s/c` left outer join `s/cpart` on `s/c`.key = `s/cpart`.key) a where false; +select * from (select key from `s/c` union all select `s/c`.key from `s/c` left outer join `s/cpart` on `s/c`.key = `s/cpart`.key) a where false; explain extended -select * from src s1, src s2 where false and s1.value = s2.value; -select * from src s1, src s2 where false and s1.value = s2.value; +select * from `s/c` s1, `s/c` s2 where false and s1.value = s2.value; +select * from `s/c` s1, `s/c` s2 where false and s1.value = s2.value; explain extended -select count(1) from src where null = 1; -select count(1) from src where null = 1; +select count(1) from `s/c` where null = 1; +select count(1) from `s/c` where null = 1; diff --git a/ql/src/test/queries/clientpositive/optional_outer.q b/ql/src/test/queries/clientpositive/optional_outer.q index 10971ab..f847987 100644 --- a/ql/src/test/queries/clientpositive/optional_outer.q +++ b/ql/src/test/queries/clientpositive/optional_outer.q @@ -1,8 +1,42 @@ -EXPLAIN SELECT * FROM src a LEFT OUTER JOIN src b on (a.key=b.key); -EXPLAIN SELECT * FROM src a LEFT JOIN src b on (a.key=b.key); +DROP TABLE IF EXISTS `s/c`; -EXPLAIN SELECT * FROM src a RIGHT OUTER JOIN src b on (a.key=b.key); -EXPLAIN SELECT * FROM src a RIGHT JOIN src b on (a.key=b.key); +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -EXPLAIN SELECT * FROM src a FULL OUTER JOIN src b on (a.key=b.key); -EXPLAIN SELECT * FROM src a FULL JOIN src b on (a.key=b.key); +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +EXPLAIN SELECT * FROM `s/c` a LEFT OUTER JOIN `s/c` b on (a.key=b.key); +EXPLAIN SELECT * FROM `s/c` a LEFT JOIN `s/c` b on (a.key=b.key); + +EXPLAIN SELECT * FROM `s/c` a RIGHT OUTER JOIN `s/c` b on (a.key=b.key); +EXPLAIN SELECT * FROM `s/c` a RIGHT JOIN `s/c` b on (a.key=b.key); + +EXPLAIN SELECT * FROM `s/c` a FULL OUTER JOIN `s/c` b on (a.key=b.key); +EXPLAIN SELECT * FROM `s/c` a FULL JOIN `s/c` b on (a.key=b.key); diff --git a/ql/src/test/queries/clientpositive/orc_analyze.q b/ql/src/test/queries/clientpositive/orc_analyze.q index bd22e6f..e07fe8c 100644 --- a/ql/src/test/queries/clientpositive/orc_analyze.q +++ b/ql/src/test/queries/clientpositive/orc_analyze.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; diff --git a/ql/src/test/queries/clientpositive/orc_create.q b/ql/src/test/queries/clientpositive/orc_create.q index e42c5ae..a45409d 100644 --- a/ql/src/test/queries/clientpositive/orc_create.q +++ b/ql/src/test/queries/clientpositive/orc_create.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS DROP TABLE orc_create; diff --git a/ql/src/test/queries/clientpositive/orc_createas1.q b/ql/src/test/queries/clientpositive/orc_createas1.q index 874d16c..bcdb104 100644 --- a/ql/src/test/queries/clientpositive/orc_createas1.q +++ b/ql/src/test/queries/clientpositive/orc_createas1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.max.split.size=100; set mapred.min.split.size=1; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -9,17 +43,17 @@ DROP TABLE orc_createas1c; CREATE TABLE orc_createas1a (key INT, value STRING) PARTITIONED BY (ds string); INSERT OVERWRITE TABLE orc_createas1a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE orc_createas1a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; EXPLAIN CREATE TABLE orc_createas1b STORED AS ORC AS - SELECT * FROM src; + SELECT * FROM `s/c`; CREATE TABLE orc_createas1b STORED AS ORC AS - SELECT * FROM src; + SELECT * FROM `s/c`; EXPLAIN SELECT * FROM orc_createas1b ORDER BY key LIMIT 5; diff --git a/ql/src/test/queries/clientpositive/orc_dictionary_threshold.q b/ql/src/test/queries/clientpositive/orc_dictionary_threshold.q index a0eaab7..fda8405 100644 --- a/ql/src/test/queries/clientpositive/orc_dictionary_threshold.q +++ b/ql/src/test/queries/clientpositive/orc_dictionary_threshold.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.orc.dictionary.key.size.threshold=-1; -- Set the threshold to -1 to guarantee dictionary encoding is turned off @@ -10,7 +44,7 @@ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'; -- should be single split -INSERT OVERWRITE TABLE test_orc SELECT key FROM src TABLESAMPLE (10 ROWS); +INSERT OVERWRITE TABLE test_orc SELECT key FROM `s/c` TABLESAMPLE (10 ROWS); -- Test reading the column back diff --git a/ql/src/test/queries/clientpositive/orc_diff_part_cols.q b/ql/src/test/queries/clientpositive/orc_diff_part_cols.q index 450f19e..3d27e00 100644 --- a/ql/src/test/queries/clientpositive/orc_diff_part_cols.q +++ b/ql/src/test/queries/clientpositive/orc_diff_part_cols.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE test_orc (key STRING) @@ -12,10 +46,10 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- to another partition -- This can produce unexpected results with CombineHiveInputFormat -INSERT OVERWRITE TABLE test_orc PARTITION (part = '1') SELECT key FROM src tablesample (5 rows); +INSERT OVERWRITE TABLE test_orc PARTITION (part = '1') SELECT key FROM `s/c` tablesample (5 rows); ALTER TABLE test_orc ADD COLUMNS (cnt INT); -INSERT OVERWRITE TABLE test_orc PARTITION (part = '2') SELECT key, count(*) FROM src GROUP BY key LIMIT 5; +INSERT OVERWRITE TABLE test_orc PARTITION (part = '2') SELECT key, count(*) FROM `s/c` GROUP BY key LIMIT 5; SELECT * FROM test_orc; diff --git a/ql/src/test/queries/clientpositive/orc_diff_part_cols2.q b/ql/src/test/queries/clientpositive/orc_diff_part_cols2.q index 3fe42bb..33003c8 100644 --- a/ql/src/test/queries/clientpositive/orc_diff_part_cols2.q +++ b/ql/src/test/queries/clientpositive/orc_diff_part_cols2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Create a table with one column, write to it, then add an additional column -- This can break reads @@ -6,7 +40,7 @@ CREATE TABLE test_orc (key STRING) STORED AS ORC; -INSERT OVERWRITE TABLE test_orc SELECT key FROM src LIMIT 5; +INSERT OVERWRITE TABLE test_orc SELECT key FROM `s/c` LIMIT 5; ALTER TABLE test_orc ADD COLUMNS (value STRING); diff --git a/ql/src/test/queries/clientpositive/orc_empty_files.q b/ql/src/test/queries/clientpositive/orc_empty_files.q index d3cbc5a..c924bf8 100644 --- a/ql/src/test/queries/clientpositive/orc_empty_files.q +++ b/ql/src/test/queries/clientpositive/orc_empty_files.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE test_orc (key STRING, cnt INT) CLUSTERED BY (key) INTO 3 BUCKETS ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' @@ -13,6 +47,6 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- containing data and a file containing data followed by an empty file. -- This can produce unexpected results with CombineHiveInputFormat -INSERT OVERWRITE TABLE test_orc SELECT one, COUNT(*) FROM (SELECT 1 AS one FROM src) a GROUP BY one; +INSERT OVERWRITE TABLE test_orc SELECT one, COUNT(*) FROM (SELECT 1 AS one FROM `s/c`) a GROUP BY one; SELECT count(*) FROM test_orc; diff --git a/ql/src/test/queries/clientpositive/orc_empty_strings.q b/ql/src/test/queries/clientpositive/orc_empty_strings.q index c69414a..e401625 100644 --- a/ql/src/test/queries/clientpositive/orc_empty_strings.q +++ b/ql/src/test/queries/clientpositive/orc_empty_strings.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE test_orc (key STRING) @@ -5,13 +39,13 @@ ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'; -INSERT OVERWRITE TABLE test_orc SELECT '' FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_orc SELECT '' FROM `s/c` tablesample (10 rows); -- Test reading a column which is just empty strings SELECT * FROM test_orc; -INSERT OVERWRITE TABLE test_orc SELECT IF (key % 3 = 0, key, '') FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_orc SELECT IF (key % 3 = 0, key, '') FROM `s/c` tablesample (10 rows); -- Test reading a column which has some empty strings diff --git a/ql/src/test/queries/clientpositive/orc_ends_with_nulls.q b/ql/src/test/queries/clientpositive/orc_ends_with_nulls.q index 83c5a05..e47b929 100644 --- a/ql/src/test/queries/clientpositive/orc_ends_with_nulls.q +++ b/ql/src/test/queries/clientpositive/orc_ends_with_nulls.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE test_orc (key STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' diff --git a/ql/src/test/queries/clientpositive/orc_file_dump.q b/ql/src/test/queries/clientpositive/orc_file_dump.q index ed0da75..3dafedf 100644 --- a/ql/src/test/queries/clientpositive/orc_file_dump.q +++ b/ql/src/test/queries/clientpositive/orc_file_dump.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE staging(t tinyint, si smallint, i int, diff --git a/ql/src/test/queries/clientpositive/orc_int_type_promotion.q b/ql/src/test/queries/clientpositive/orc_int_type_promotion.q index 4a805a0..293dccb 100644 --- a/ql/src/test/queries/clientpositive/orc_int_type_promotion.q +++ b/ql/src/test/queries/clientpositive/orc_int_type_promotion.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table if not exists alltypes ( bo boolean, ti tinyint, @@ -71,7 +105,7 @@ select ti, si, i, bi from alltypes_orc; set hive.exec.dynamic.partition.mode=nonstrict; create table src_part_orc (key int, value string) partitioned by (ds string) stored as orc; -insert overwrite table src_part_orc partition(ds) select key, value, ds from srcpart where ds is not null; +insert overwrite table src_part_orc partition(ds) select key, value, ds from `s/cpart` where ds is not null; select * from src_part_orc limit 10; diff --git a/ql/src/test/queries/clientpositive/orc_merge1.q b/ql/src/test/queries/clientpositive/orc_merge1.q index a8ac85b..4075d30 100644 --- a/ql/src/test/queries/clientpositive/orc_merge1.q +++ b/ql/src/test/queries/clientpositive/orc_merge1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.orcfile.stripe.level=false; set hive.exec.dynamic.partition=true; @@ -28,11 +62,11 @@ CREATE TABLE orcfile_merge1c (key INT, value STRING) EXPLAIN INSERT OVERWRITE TABLE orcfile_merge1 PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge1 PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge1/ds=1/part=0/; @@ -43,11 +77,11 @@ set hive.merge.mapredfiles=true; EXPLAIN INSERT OVERWRITE TABLE orcfile_merge1b PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge1b PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge1b/ds=1/part=0/; @@ -56,11 +90,11 @@ set hive.merge.orcfile.stripe.level=true; EXPLAIN INSERT OVERWRITE TABLE orcfile_merge1c PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge1c PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 2) as part - FROM src; + FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge1c/ds=1/part=0/; diff --git a/ql/src/test/queries/clientpositive/orc_merge2.q b/ql/src/test/queries/clientpositive/orc_merge2.q index 44ef280..e4b506af 100644 --- a/ql/src/test/queries/clientpositive/orc_merge2.q +++ b/ql/src/test/queries/clientpositive/orc_merge2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.orcfile.stripe.level=true; set hive.exec.dynamic.partition=true; @@ -12,12 +46,12 @@ CREATE TABLE orcfile_merge2a (key INT, value STRING) EXPLAIN INSERT OVERWRITE TABLE orcfile_merge2a PARTITION (one='1', two, three) SELECT key, value, PMOD(HASH(key), 10) as two, PMOD(HASH(value), 10) as three - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge2a PARTITION (one='1', two, three) SELECT key, value, PMOD(HASH(key), 10) as two, PMOD(HASH(value), 10) as three - FROM src; + FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge2a/one=1/two=0/three=2/; @@ -31,7 +65,7 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(key, value, '1', PMOD(HASH(key), 10), PMOD(HASH(value), 10)) USING 'tr \t _' AS (c) - FROM src + FROM `s/c` ) t; DROP TABLE orcfile_merge2a; diff --git a/ql/src/test/queries/clientpositive/orc_merge3.q b/ql/src/test/queries/clientpositive/orc_merge3.q index 9722e6d..63447b1 100644 --- a/ql/src/test/queries/clientpositive/orc_merge3.q +++ b/ql/src/test/queries/clientpositive/orc_merge3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.orcfile.stripe.level=true; @@ -9,9 +43,9 @@ CREATE TABLE orcfile_merge3a (key int, value string) CREATE TABLE orcfile_merge3b (key int, value string) STORED AS ORC; INSERT OVERWRITE TABLE orcfile_merge3a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge3a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; EXPLAIN INSERT OVERWRITE TABLE orcfile_merge3b diff --git a/ql/src/test/queries/clientpositive/orc_merge4.q b/ql/src/test/queries/clientpositive/orc_merge4.q index 3b50465..24f6511 100644 --- a/ql/src/test/queries/clientpositive/orc_merge4.q +++ b/ql/src/test/queries/clientpositive/orc_merge4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.merge.orcfile.stripe.level=true; @@ -10,16 +44,16 @@ CREATE TABLE orcfile_merge3b (key int, value string) STORED AS TEXTFILE; set hive.merge.mapfiles=false; INSERT OVERWRITE TABLE orcfile_merge3a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge3a/ds=1/; set hive.merge.mapfiles=true; INSERT OVERWRITE TABLE orcfile_merge3a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE orcfile_merge3a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge3a/ds=1/; dfs -ls ${hiveconf:hive.metastore.warehouse.dir}/orcfile_merge3a/ds=2/; diff --git a/ql/src/test/queries/clientpositive/orc_merge5.q b/ql/src/test/queries/clientpositive/orc_merge5.q index 3d32875..791fe13 100644 --- a/ql/src/test/queries/clientpositive/orc_merge5.q +++ b/ql/src/test/queries/clientpositive/orc_merge5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/orc_merge6.q b/ql/src/test/queries/clientpositive/orc_merge6.q index 6bdaa9e..b26a539 100644 --- a/ql/src/test/queries/clientpositive/orc_merge6.q +++ b/ql/src/test/queries/clientpositive/orc_merge6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/orc_merge7.q b/ql/src/test/queries/clientpositive/orc_merge7.q index 7a351c6..7975b88 100644 --- a/ql/src/test/queries/clientpositive/orc_merge7.q +++ b/ql/src/test/queries/clientpositive/orc_merge7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/orc_merge8.q b/ql/src/test/queries/clientpositive/orc_merge8.q index 61ea4bf..5454fd5 100644 --- a/ql/src/test/queries/clientpositive/orc_merge8.q +++ b/ql/src/test/queries/clientpositive/orc_merge8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table if not exists alltypes ( bo boolean, ti tinyint, diff --git a/ql/src/test/queries/clientpositive/orc_merge9.q b/ql/src/test/queries/clientpositive/orc_merge9.q index 010b5a1..497f099 100644 --- a/ql/src/test/queries/clientpositive/orc_merge9.q +++ b/ql/src/test/queries/clientpositive/orc_merge9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table ts_merge ( userid bigint, string1 string, diff --git a/ql/src/test/queries/clientpositive/orc_merge_incompat1.q b/ql/src/test/queries/clientpositive/orc_merge_incompat1.q index dd58524..25233ae 100644 --- a/ql/src/test/queries/clientpositive/orc_merge_incompat1.q +++ b/ql/src/test/queries/clientpositive/orc_merge_incompat1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/orc_merge_incompat2.q b/ql/src/test/queries/clientpositive/orc_merge_incompat2.q index a8f8842..e8861f5 100644 --- a/ql/src/test/queries/clientpositive/orc_merge_incompat2.q +++ b/ql/src/test/queries/clientpositive/orc_merge_incompat2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/orc_min_max.q b/ql/src/test/queries/clientpositive/orc_min_max.q index b81adf2..0e0c1ac 100644 --- a/ql/src/test/queries/clientpositive/orc_min_max.q +++ b/ql/src/test/queries/clientpositive/orc_min_max.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table if not exists alltypes ( bo boolean, ti tinyint, diff --git a/ql/src/test/queries/clientpositive/orc_null_check.q b/ql/src/test/queries/clientpositive/orc_null_check.q index 2cb1190..f907e39 100644 --- a/ql/src/test/queries/clientpositive/orc_null_check.q +++ b/ql/src/test/queries/clientpositive/orc_null_check.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table listtable(l array); create table listtable_orc(l array) stored as orc; -insert overwrite table listtable select array(null) from src; +insert overwrite table listtable select array(null) from `s/c`; insert overwrite table listtable_orc select * from listtable; select size(l) from listtable_orc limit 10; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_basic.q b/ql/src/test/queries/clientpositive/orc_ppd_basic.q index f9dafef..c29eae8 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_basic.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_basic.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.fetch.task.conversion=none; SET hive.optimize.index.filter=true; SET hive.cbo.enable=false; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_boolean.q b/ql/src/test/queries/clientpositive/orc_ppd_boolean.q index d344714..f023118 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_boolean.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_boolean.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), b boolean) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, true from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, false from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, true from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, false from `s/c` src2) uniontbl; set hive.optimize.index.filter=false; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_char.q b/ql/src/test/queries/clientpositive/orc_ppd_char.q index 1f5f54a..48d38a6 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_char.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_char.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), da date) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; set hive.optimize.index.filter=false; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_date.q b/ql/src/test/queries/clientpositive/orc_ppd_date.q index 3d21d41..e56492b 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_date.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_date.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), da date) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; -- date data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypesorc where da='1970-02-20'; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_decimal.q b/ql/src/test/queries/clientpositive/orc_ppd_decimal.q index a54b862..b7acc37 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_decimal.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_decimal.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), da date) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; -- decimal data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypesorc where d=0.22; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_timestamp.q b/ql/src/test/queries/clientpositive/orc_ppd_timestamp.q index dafd6cf..f76cef7 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_timestamp.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_timestamp.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), ts timestamp) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("2011-01-01 01:01:01" as timestamp) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("2011-01-20 01:01:01" as timestamp) from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("2011-01-01 01:01:01" as timestamp) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("2011-01-20 01:01:01" as timestamp) from `s/c` src2) uniontbl; -- timestamp data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypesorc where cast(ts as string)='2011-01-01 01:01:01'; diff --git a/ql/src/test/queries/clientpositive/orc_ppd_varchar.q b/ql/src/test/queries/clientpositive/orc_ppd_varchar.q index 0fecc66..3017d37 100644 --- a/ql/src/test/queries/clientpositive/orc_ppd_varchar.q +++ b/ql/src/test/queries/clientpositive/orc_ppd_varchar.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypesorc(c char(10), v varchar(10), d decimal(5,3), da date) stored as orc tblproperties("orc.stripe.size"="16777216"); -insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypesorc select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; set hive.optimize.index.filter=false; diff --git a/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q b/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q index e6059d3..6caf9b8 100644 --- a/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q +++ b/ql/src/test/queries/clientpositive/orc_predicate_pushdown.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE orc_pred(t tinyint, diff --git a/ql/src/test/queries/clientpositive/orc_split_elimination.q b/ql/src/test/queries/clientpositive/orc_split_elimination.q index 0d99f04..89c4d2f 100644 --- a/ql/src/test/queries/clientpositive/orc_split_elimination.q +++ b/ql/src/test/queries/clientpositive/orc_split_elimination.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table orc_split_elim (userid bigint, string1 string, subtype double, decimal1 decimal, ts timestamp) stored as orc; diff --git a/ql/src/test/queries/clientpositive/orc_vectorization_ppd.q b/ql/src/test/queries/clientpositive/orc_vectorization_ppd.q index 9bdad86..e174536 100644 --- a/ql/src/test/queries/clientpositive/orc_vectorization_ppd.q +++ b/ql/src/test/queries/clientpositive/orc_vectorization_ppd.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- create table with 1000 rows create table srcorc(key string, value string) stored as textfile; -insert overwrite table srcorc select * from src; -insert into table srcorc select * from src; +insert overwrite table srcorc select * from `s/c`; +insert into table srcorc select * from `s/c`; -- load table with each row group having 1000 rows and stripe 1 & 2 having 5000 & 2000 rows respectively create table if not exists vectororc diff --git a/ql/src/test/queries/clientpositive/orc_wide_table.q b/ql/src/test/queries/clientpositive/orc_wide_table.q index 3d78b5a..64a42c1 100644 --- a/ql/src/test/queries/clientpositive/orc_wide_table.q +++ b/ql/src/test/queries/clientpositive/orc_wide_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists test_txt; drop table if exists test_orc; create table test_txt( diff --git a/ql/src/test/queries/clientpositive/order.q b/ql/src/test/queries/clientpositive/order.q index d389892..4c6c91f 100644 --- a/ql/src/test/queries/clientpositive/order.q +++ b/ql/src/test/queries/clientpositive/order.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SELECT x.* FROM SRC x ORDER BY key limit 10; +SELECT x.* FROM `s/c` x ORDER BY key limit 10; -SELECT x.* FROM SRC x ORDER BY key limit 10; +SELECT x.* FROM `s/c` x ORDER BY key limit 10; EXPLAIN -SELECT x.* FROM SRC x ORDER BY key desc limit 10; +SELECT x.* FROM `s/c` x ORDER BY key desc limit 10; -SELECT x.* FROM SRC x ORDER BY key desc limit 10; +SELECT x.* FROM `s/c` x ORDER BY key desc limit 10; diff --git a/ql/src/test/queries/clientpositive/order2.q b/ql/src/test/queries/clientpositive/order2.q index 6c16fe3..ece91ca 100644 --- a/ql/src/test/queries/clientpositive/order2.q +++ b/ql/src/test/queries/clientpositive/order2.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; EXPLAIN SELECT subq.key, subq.value FROM -(SELECT x.* FROM SRC x ORDER BY key limit 10) subq +(SELECT x.* FROM `s/c` x ORDER BY key limit 10) subq where subq.key < 10; SELECT subq.key, subq.value FROM -(SELECT x.* FROM SRC x ORDER BY key limit 10) subq +(SELECT x.* FROM `s/c` x ORDER BY key limit 10) subq where subq.key < 10; diff --git a/ql/src/test/queries/clientpositive/order_within_subquery.q b/ql/src/test/queries/clientpositive/order_within_subquery.q index daac4a6..e92660c 100644 --- a/ql/src/test/queries/clientpositive/order_within_subquery.q +++ b/ql/src/test/queries/clientpositive/order_within_subquery.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select t1.p_name, t2.p_name from (select * from part order by p_size limit 10) t1 join part t2 on t1.p_partkey = t2.p_partkey and t1.p_size = t2.p_size where t1.p_partkey < 100000; diff --git a/ql/src/test/queries/clientpositive/outer_join_ppr.q b/ql/src/test/queries/clientpositive/outer_join_ppr.q index ba8f882..e09aba4 100644 --- a/ql/src/test/queries/clientpositive/outer_join_ppr.q +++ b/ql/src/test/queries/clientpositive/outer_join_ppr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- SORT_QUERY_RESULTS @@ -5,34 +39,34 @@ set hive.optimize.ppd=true; EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; EXPLAIN EXTENDED FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; FROM - src a + `s/c` a FULL OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/overridden_confs.q b/ql/src/test/queries/clientpositive/overridden_confs.q index c7e0551..c671bda 100644 --- a/ql/src/test/queries/clientpositive/overridden_confs.q +++ b/ql/src/test/queries/clientpositive/overridden_confs.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.VerifyOverriddenConfigsHook; set some.hive.config.doesnt.exit=abc; -select count(*) from src; +select count(*) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/parallel.q b/ql/src/test/queries/clientpositive/parallel.q index b8c0445..60684d3 100644 --- a/ql/src/test/queries/clientpositive/parallel.q +++ b/ql/src/test/queries/clientpositive/parallel.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set mapred.job.name='test_parallel'; set hive.exec.parallel=true; @@ -5,15 +39,15 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- SORT_QUERY_RESULTS -create table if not exists src_a like src; -create table if not exists src_b like src; +create table if not exists src_a like `s/c`; +create table if not exists src_b like `s/c`; explain -from (select key, value from src group by key, value) s +from (select key, value from `s/c` group by key, value) s insert overwrite table src_a select s.key, s.value group by s.key, s.value insert overwrite table src_b select s.key, s.value group by s.key, s.value; -from (select key, value from src group by key, value) s +from (select key, value from `s/c` group by key, value) s insert overwrite table src_a select s.key, s.value group by s.key, s.value insert overwrite table src_b select s.key, s.value group by s.key, s.value; @@ -23,7 +57,7 @@ select * from src_b; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -from (select key, value from src group by key, value) s +from (select key, value from `s/c` group by key, value) s insert overwrite table src_a select s.key, s.value group by s.key, s.value insert overwrite table src_b select s.key, s.value group by s.key, s.value; diff --git a/ql/src/test/queries/clientpositive/parallel_join0.q b/ql/src/test/queries/clientpositive/parallel_join0.q index b892769..ed4c62d 100644 --- a/ql/src/test/queries/clientpositive/parallel_join0.q +++ b/ql/src/test/queries/clientpositive/parallel_join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapreduce.job.reduces=4; -- SORT_QUERY_RESULTS @@ -5,23 +39,23 @@ set mapreduce.job.reduces=4; EXPLAIN SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; EXPLAIN FORMATTED SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2; diff --git a/ql/src/test/queries/clientpositive/parallel_join1.q b/ql/src/test/queries/clientpositive/parallel_join1.q index 8a58c7e..08c36ed 100644 --- a/ql/src/test/queries/clientpositive/parallel_join1.q +++ b/ql/src/test/queries/clientpositive/parallel_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapreduce.job.reduces=4; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; @@ -6,10 +40,10 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT dest_j1.* FROM dest_j1; diff --git a/ql/src/test/queries/clientpositive/parallel_orderby.q b/ql/src/test/queries/clientpositive/parallel_orderby.q index 73c3940..6e4cfb8 100644 --- a/ql/src/test/queries/clientpositive/parallel_orderby.q +++ b/ql/src/test/queries/clientpositive/parallel_orderby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src5 (key string, value string); load data local inpath '../../data/files/kv5.txt' into table src5; load data local inpath '../../data/files/kv5.txt' into table src5; diff --git a/ql/src/test/queries/clientpositive/parenthesis_star_by.q b/ql/src/test/queries/clientpositive/parenthesis_star_by.q index e911fbf..4060c39 100644 --- a/ql/src/test/queries/clientpositive/parenthesis_star_by.q +++ b/ql/src/test/queries/clientpositive/parenthesis_star_by.q @@ -1,10 +1,44 @@ -SELECT key, value FROM src CLUSTER BY key, value; -SELECT key, value FROM src ORDER BY key ASC, value ASC; -SELECT key, value FROM src SORT BY key, value; -SELECT * FROM (SELECT key, value FROM src DISTRIBUTE BY key, value)t ORDER BY key, value; +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -SELECT key, value FROM src CLUSTER BY (key, value); -SELECT key, value FROM src ORDER BY key ASC, value ASC; -SELECT key, value FROM src SORT BY (key, value); -SELECT * FROM (SELECT key, value FROM src DISTRIBUTE BY (key, value))t ORDER BY key, value; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +SELECT key, value FROM `s/c` CLUSTER BY key, value; +SELECT key, value FROM `s/c` ORDER BY key ASC, value ASC; +SELECT key, value FROM `s/c` SORT BY key, value; +SELECT * FROM (SELECT key, value FROM `s/c` DISTRIBUTE BY key, value)t ORDER BY key, value; + + +SELECT key, value FROM `s/c` CLUSTER BY (key, value); +SELECT key, value FROM `s/c` ORDER BY key ASC, value ASC; +SELECT key, value FROM `s/c` SORT BY (key, value); +SELECT * FROM (SELECT key, value FROM `s/c` DISTRIBUTE BY (key, value))t ORDER BY key, value; diff --git a/ql/src/test/queries/clientpositive/parquet_array_null_element.q b/ql/src/test/queries/clientpositive/parquet_array_null_element.q index d711d26..60d88b4 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_null_element.q +++ b/ql/src/test/queries/clientpositive/parquet_array_null_element.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE parquet_array_null_element_staging; DROP TABLE parquet_array_null_element; diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_multi_field_struct.q b/ql/src/test/queries/clientpositive/parquet_array_of_multi_field_struct.q index b96d302..4e99791 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_multi_field_struct.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_multi_field_struct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of multi-field structs CREATE TABLE parquet_array_of_multi_field_structs ( diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_optional_elements.q b/ql/src/test/queries/clientpositive/parquet_array_of_optional_elements.q index 1ae9cce..573f783 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_optional_elements.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_optional_elements.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of optional structs CREATE TABLE parquet_array_of_optional_elements ( diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_required_elements.q b/ql/src/test/queries/clientpositive/parquet_array_of_required_elements.q index 967b333..3a69dd3 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_required_elements.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_required_elements.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of structs CREATE TABLE parquet_array_of_required_elements ( diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_single_field_struct.q b/ql/src/test/queries/clientpositive/parquet_array_of_single_field_struct.q index f61fe29..563ab80 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_single_field_struct.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_single_field_struct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of single-field structs -- that has an ambiguous Parquet schema that is assumed to be a list of bigints -- This is verifies compliance with the spec for this case. diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_structs.q b/ql/src/test/queries/clientpositive/parquet_array_of_structs.q index 9e8b56c..93067e0 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_structs.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_structs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of structs CREATE TABLE parquet_array_of_structs ( diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_groups.q b/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_groups.q index 1a0698a..e8b4008 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_groups.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_groups.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table from a structure with an unannotated -- repeated structure of (x,y) structs diff --git a/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_primitives.q b/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_primitives.q index c38d9dc..c14a6ae 100644 --- a/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_primitives.q +++ b/ql/src/test/queries/clientpositive/parquet_array_of_unannotated_primitives.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table from a structure with an unannotated -- repeated structure of int32s diff --git a/ql/src/test/queries/clientpositive/parquet_avro_array_of_primitives.q b/ql/src/test/queries/clientpositive/parquet_avro_array_of_primitives.q index 9f7ad3d..63238d6 100644 --- a/ql/src/test/queries/clientpositive/parquet_avro_array_of_primitives.q +++ b/ql/src/test/queries/clientpositive/parquet_avro_array_of_primitives.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of structs CREATE TABLE parquet_avro_array_of_primitives ( diff --git a/ql/src/test/queries/clientpositive/parquet_avro_array_of_single_field_struct.q b/ql/src/test/queries/clientpositive/parquet_avro_array_of_single_field_struct.q index d5fdb00..d78a4d9 100644 --- a/ql/src/test/queries/clientpositive/parquet_avro_array_of_single_field_struct.q +++ b/ql/src/test/queries/clientpositive/parquet_avro_array_of_single_field_struct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of single-field structs -- as written by parquet-avro diff --git a/ql/src/test/queries/clientpositive/parquet_columnar.q b/ql/src/test/queries/clientpositive/parquet_columnar.q index b5aca1b..341eb81 100644 --- a/ql/src/test/queries/clientpositive/parquet_columnar.q +++ b/ql/src/test/queries/clientpositive/parquet_columnar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set parquet.column.index.access=true; DROP TABLE IF EXISTS parquet_columnar_access_stage; diff --git a/ql/src/test/queries/clientpositive/parquet_create.q b/ql/src/test/queries/clientpositive/parquet_create.q index f2eea6e..a23f11a 100644 --- a/ql/src/test/queries/clientpositive/parquet_create.q +++ b/ql/src/test/queries/clientpositive/parquet_create.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE parquet_create_staging; DROP TABLE parquet_create; diff --git a/ql/src/test/queries/clientpositive/parquet_ctas.q b/ql/src/test/queries/clientpositive/parquet_ctas.q index 652aef1..575e89e 100644 --- a/ql/src/test/queries/clientpositive/parquet_ctas.q +++ b/ql/src/test/queries/clientpositive/parquet_ctas.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table staging; drop table parquet_ctas; drop table parquet_ctas_advanced; @@ -5,7 +39,7 @@ drop table parquet_ctas_alias; drop table parquet_ctas_mixed; create table staging (key int, value string) stored as textfile; -insert into table staging select * from src order by key limit 10; +insert into table staging select * from `s/c` order by key limit 10; create table parquet_ctas stored as parquet as select * from staging; describe parquet_ctas; diff --git a/ql/src/test/queries/clientpositive/parquet_decimal.q b/ql/src/test/queries/clientpositive/parquet_decimal.q index bce3ba1..39872d2 100644 --- a/ql/src/test/queries/clientpositive/parquet_decimal.q +++ b/ql/src/test/queries/clientpositive/parquet_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS dec; CREATE TABLE dec(name string, value decimal(8,4)); diff --git a/ql/src/test/queries/clientpositive/parquet_decimal1.q b/ql/src/test/queries/clientpositive/parquet_decimal1.q index fa3e2b8..b705ede 100644 --- a/ql/src/test/queries/clientpositive/parquet_decimal1.q +++ b/ql/src/test/queries/clientpositive/parquet_decimal1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS dec_comp; CREATE TABLE dec_comp(arr ARRAY, m MAP, s STRUCT) diff --git a/ql/src/test/queries/clientpositive/parquet_external_time.q b/ql/src/test/queries/clientpositive/parquet_external_time.q index 6c9f2d1..e56c223 100644 --- a/ql/src/test/queries/clientpositive/parquet_external_time.q +++ b/ql/src/test/queries/clientpositive/parquet_external_time.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table timetest_parquet(t timestamp) stored as parquet; load data local inpath '../../data/files/parquet_external_time.parq' into table timetest_parquet; diff --git a/ql/src/test/queries/clientpositive/parquet_join.q b/ql/src/test/queries/clientpositive/parquet_join.q index 6737ff1..d3ebb7f 100644 --- a/ql/src/test/queries/clientpositive/parquet_join.q +++ b/ql/src/test/queries/clientpositive/parquet_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists staging; drop table if exists parquet_jointable1; @@ -6,7 +40,7 @@ drop table if exists parquet_jointable1_bucketed_sorted; drop table if exists parquet_jointable2_bucketed_sorted; create table staging (key int, value string) stored as textfile; -insert into table staging select distinct key, value from src order by key limit 2; +insert into table staging select distinct key, value from `s/c` order by key limit 2; create table parquet_jointable1 stored as parquet as select * from staging; diff --git a/ql/src/test/queries/clientpositive/parquet_map_null.q b/ql/src/test/queries/clientpositive/parquet_map_null.q index 61058f3..2f75a4e 100644 --- a/ql/src/test/queries/clientpositive/parquet_map_null.q +++ b/ql/src/test/queries/clientpositive/parquet_map_null.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test attempts to write a parquet table from an avro table that contains map null values -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/parquet_map_of_arrays_of_ints.q b/ql/src/test/queries/clientpositive/parquet_map_of_arrays_of_ints.q index 8517848..9a17079 100644 --- a/ql/src/test/queries/clientpositive/parquet_map_of_arrays_of_ints.q +++ b/ql/src/test/queries/clientpositive/parquet_map_of_arrays_of_ints.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test reads and writes a parquet file with a map of arrays of ints -- validates PARQUET-26 is fixed diff --git a/ql/src/test/queries/clientpositive/parquet_map_of_maps.q b/ql/src/test/queries/clientpositive/parquet_map_of_maps.q index 4289f37..f9a822c 100644 --- a/ql/src/test/queries/clientpositive/parquet_map_of_maps.q +++ b/ql/src/test/queries/clientpositive/parquet_map_of_maps.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test reads and writes a parquet file with a map of maps CREATE TABLE parquet_map_of_maps ( diff --git a/ql/src/test/queries/clientpositive/parquet_mixed_case.q b/ql/src/test/queries/clientpositive/parquet_mixed_case.q index 95fc958..776b029 100644 --- a/ql/src/test/queries/clientpositive/parquet_mixed_case.q +++ b/ql/src/test/queries/clientpositive/parquet_mixed_case.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE parquet_mixed_case; CREATE TABLE parquet_mixed_case ( diff --git a/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q b/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q index 4d7d088..98fc279 100644 --- a/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q +++ b/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE if exists parquet_mixed_partition_formats; CREATE TABLE parquet_mixed_partition_formats ( diff --git a/ql/src/test/queries/clientpositive/parquet_nested_complex.q b/ql/src/test/queries/clientpositive/parquet_nested_complex.q index 9ada66f..b685e44 100644 --- a/ql/src/test/queries/clientpositive/parquet_nested_complex.q +++ b/ql/src/test/queries/clientpositive/parquet_nested_complex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- start with the original nestedcomplex test create table nestedcomplex ( diff --git a/ql/src/test/queries/clientpositive/parquet_partitioned.q b/ql/src/test/queries/clientpositive/parquet_partitioned.q index d643fa0..6743edf 100644 --- a/ql/src/test/queries/clientpositive/parquet_partitioned.q +++ b/ql/src/test/queries/clientpositive/parquet_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_boolean.q b/ql/src/test/queries/clientpositive/parquet_ppd_boolean.q index 05c6c50..ea907e6 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_boolean.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_boolean.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), b boolean) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, true from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, false from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, true from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, false from `s/c` src2) uniontbl; SET hive.optimize.ppd=true; SET hive.optimize.index.filter=true; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_char.q b/ql/src/test/queries/clientpositive/parquet_ppd_char.q index b01612c..c181d50 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_char.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_char.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.ppd=true; SET mapred.min.split.size=1000; @@ -5,7 +39,7 @@ SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), da date) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; set hive.optimize.index.filter=false; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_date.q b/ql/src/test/queries/clientpositive/parquet_ppd_date.q index a18a9cf..eac3b39 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_date.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.ppd=true; SET mapred.min.split.size=1000; @@ -5,7 +39,7 @@ SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), da date) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; -- date data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypestbl where da='1970-02-20'; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q b/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q index 679164b..5a4a023 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_decimal.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET mapred.min.split.size=1000; SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), da date) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; -- decimal data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypestbl where d=0.22; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_partition.q b/ql/src/test/queries/clientpositive/parquet_ppd_partition.q index 08af84f..33b7902 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_partition.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.optimize.index.filter=true; SET hive.optimize.ppd=true; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_timestamp.q b/ql/src/test/queries/clientpositive/parquet_ppd_timestamp.q index e0802a0..ecede6c 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_timestamp.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.ppd=true; SET mapred.min.split.size=1000; @@ -5,7 +39,7 @@ SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), ts timestamp) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("2011-01-01 01:01:01" as timestamp) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("2011-01-20 01:01:01" as timestamp) from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("2011-01-01 01:01:01" as timestamp) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("2011-01-20 01:01:01" as timestamp) from `s/c` src2) uniontbl; -- timestamp data types (EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_EQUALS, IN, BETWEEN tests) select sum(hash(*)) from newtypestbl where cast(ts as string)='2011-01-01 01:01:01'; diff --git a/ql/src/test/queries/clientpositive/parquet_ppd_varchar.q b/ql/src/test/queries/clientpositive/parquet_ppd_varchar.q index be50ca2..9dd70ea 100644 --- a/ql/src/test/queries/clientpositive/parquet_ppd_varchar.q +++ b/ql/src/test/queries/clientpositive/parquet_ppd_varchar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; SET hive.optimize.ppd=true; SET mapred.min.split.size=1000; @@ -5,7 +39,7 @@ SET mapred.max.split.size=5000; create table newtypestbl(c char(10), v varchar(10), d decimal(5,3), da date) stored as parquet; -insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from src src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from src src2) uniontbl; +insert overwrite table newtypestbl select * from (select cast("apple" as char(10)), cast("bee" as varchar(10)), 0.22, cast("1970-02-20" as date) from `s/c` src1 union all select cast("hello" as char(10)), cast("world" as varchar(10)), 11.22, cast("1970-02-27" as date) from `s/c` src2) uniontbl; set hive.optimize.index.filter=false; diff --git a/ql/src/test/queries/clientpositive/parquet_predicate_pushdown.q b/ql/src/test/queries/clientpositive/parquet_predicate_pushdown.q index 32767e8..1c4b7a6 100644 --- a/ql/src/test/queries/clientpositive/parquet_predicate_pushdown.q +++ b/ql/src/test/queries/clientpositive/parquet_predicate_pushdown.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.optimize.ppd=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/parquet_read_backward_compatible_files.q b/ql/src/test/queries/clientpositive/parquet_read_backward_compatible_files.q index 0abbc2f..1542ae3 100644 --- a/ql/src/test/queries/clientpositive/parquet_read_backward_compatible_files.q +++ b/ql/src/test/queries/clientpositive/parquet_read_backward_compatible_files.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test makes sure that parquet can read older parquet files written by Hive <= 0.12 -- alltypesparquet is a files written by older version of Hive diff --git a/ql/src/test/queries/clientpositive/parquet_schema_evolution.q b/ql/src/test/queries/clientpositive/parquet_schema_evolution.q index af0cf99..241de2f 100644 --- a/ql/src/test/queries/clientpositive/parquet_schema_evolution.q +++ b/ql/src/test/queries/clientpositive/parquet_schema_evolution.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Some tables might have extra columns and struct elements on the schema than the on Parquet schema; -- This is called 'schema evolution' as the Parquet file is not ready yet for such new columns; -- Hive should support this schema, and return NULL values instead; @@ -7,7 +41,7 @@ DROP TABLE NewStructFieldTable; CREATE TABLE NewStructField(a struct, a2:struct>) STORED AS PARQUET; -INSERT OVERWRITE TABLE NewStructField SELECT named_struct('a1', map('k1','v1'), 'a2', named_struct('e1',5)) FROM srcpart LIMIT 5; +INSERT OVERWRITE TABLE NewStructField SELECT named_struct('a1', map('k1','v1'), 'a2', named_struct('e1',5)) FROM `s/cpart` LIMIT 5; DESCRIBE NewStructField; SELECT * FROM NewStructField; diff --git a/ql/src/test/queries/clientpositive/parquet_serde.q b/ql/src/test/queries/clientpositive/parquet_serde.q index 0f7d9d4..24305a4 100644 --- a/ql/src/test/queries/clientpositive/parquet_serde.q +++ b/ql/src/test/queries/clientpositive/parquet_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE if exists parquet_mixed_fileformat; CREATE TABLE parquet_mixed_fileformat ( diff --git a/ql/src/test/queries/clientpositive/parquet_table_with_subschema.q b/ql/src/test/queries/clientpositive/parquet_table_with_subschema.q index 7c1b7b5..1975f6e 100644 --- a/ql/src/test/queries/clientpositive/parquet_table_with_subschema.q +++ b/ql/src/test/queries/clientpositive/parquet_table_with_subschema.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Sometimes, the user wants to create a table from just a portion of the file schema; -- This test makes sure that this scenario works; diff --git a/ql/src/test/queries/clientpositive/parquet_thrift_array_of_primitives.q b/ql/src/test/queries/clientpositive/parquet_thrift_array_of_primitives.q index 38b8e6b..565ef52 100644 --- a/ql/src/test/queries/clientpositive/parquet_thrift_array_of_primitives.q +++ b/ql/src/test/queries/clientpositive/parquet_thrift_array_of_primitives.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of structs CREATE TABLE parquet_thrift_array_of_primitives ( diff --git a/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q b/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q index bbb8c98..ac9965a 100644 --- a/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q +++ b/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- this test creates a Parquet table with an array of single-field structs -- as written by parquet-thrift diff --git a/ql/src/test/queries/clientpositive/parquet_types.q b/ql/src/test/queries/clientpositive/parquet_types.q index 99371c9..cc4ee02 100644 --- a/ql/src/test/queries/clientpositive/parquet_types.q +++ b/ql/src/test/queries/clientpositive/parquet_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE parquet_types_staging; DROP TABLE parquet_types; diff --git a/ql/src/test/queries/clientpositive/parquet_write_correct_definition_levels.q b/ql/src/test/queries/clientpositive/parquet_write_correct_definition_levels.q index 172fda6..75aec05 100644 --- a/ql/src/test/queries/clientpositive/parquet_write_correct_definition_levels.q +++ b/ql/src/test/queries/clientpositive/parquet_write_correct_definition_levels.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE text_tbl (a STRUCT>) STORED AS TEXTFILE; -- This inserts one NULL row INSERT OVERWRITE TABLE text_tbl SELECT IF(false, named_struct("b", named_struct("c", 1)), NULL) -FROM src LIMIT 1; +FROM `s/c` LIMIT 1; -- We test that parquet is written with a level 0 definition CREATE TABLE parq_tbl diff --git a/ql/src/test/queries/clientpositive/partInit.q b/ql/src/test/queries/clientpositive/partInit.q index c492b87..daa5042 100644 --- a/ql/src/test/queries/clientpositive/partInit.q +++ b/ql/src/test/queries/clientpositive/partInit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE empty (c INT) PARTITIONED BY (p INT); SELECT MAX(c) FROM empty; SELECT MAX(p) FROM empty; diff --git a/ql/src/test/queries/clientpositive/part_inherit_tbl_props.q b/ql/src/test/queries/clientpositive/part_inherit_tbl_props.q index 3ee1b4a..c0cfee1 100644 --- a/ql/src/test/queries/clientpositive/part_inherit_tbl_props.q +++ b/ql/src/test/queries/clientpositive/part_inherit_tbl_props.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.metastore.partition.inherit.table.properties=a,b; -- The property needs to be unset at the end of the test till HIVE-3109/HIVE-3112 is fixed diff --git a/ql/src/test/queries/clientpositive/part_inherit_tbl_props_empty.q b/ql/src/test/queries/clientpositive/part_inherit_tbl_props_empty.q index f3f0335..3a481c2 100644 --- a/ql/src/test/queries/clientpositive/part_inherit_tbl_props_empty.q +++ b/ql/src/test/queries/clientpositive/part_inherit_tbl_props_empty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.metastore.partition.inherit.table.properties=""; create table mytbl (c1 tinyint) partitioned by (c2 string) tblproperties ('a'='myval','b'='yourval','c'='noval'); alter table mytbl add partition (c2 = 'v1'); diff --git a/ql/src/test/queries/clientpositive/part_inherit_tbl_props_with_star.q b/ql/src/test/queries/clientpositive/part_inherit_tbl_props_with_star.q index 8dac611..bd5ae65 100644 --- a/ql/src/test/queries/clientpositive/part_inherit_tbl_props_with_star.q +++ b/ql/src/test/queries/clientpositive/part_inherit_tbl_props_with_star.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.metastore.partition.inherit.table.properties=key1,*; -- The property needs to be unset at the end of the test till HIVE-3109/HIVE-3112 is fixed diff --git a/ql/src/test/queries/clientpositive/partcols1.q b/ql/src/test/queries/clientpositive/partcols1.q index 03a5760..eba3309 100644 --- a/ql/src/test/queries/clientpositive/partcols1.q +++ b/ql/src/test/queries/clientpositive/partcols1.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table test1(col1 string) partitioned by (partitionId int); insert overwrite table test1 partition (partitionId=1) - select key from src tablesample (10 rows); + select key from `s/c` tablesample (10 rows); FROM ( FROM test1 diff --git a/ql/src/test/queries/clientpositive/partition_boolexpr.q b/ql/src/test/queries/clientpositive/partition_boolexpr.q index 3394d7d..1126e73 100644 --- a/ql/src/test/queries/clientpositive/partition_boolexpr.q +++ b/ql/src/test/queries/clientpositive/partition_boolexpr.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- create testing table. create table part_boolexpr(key int, value string) partitioned by (dt int, ts string); -- both the below queries should return 0 rows select count(*) from part_boolexpr where key = 'abc'; select * from part_boolexpr where dt = 'abc'; -explain select count(1) from srcpart where true; -explain select count(1) from srcpart where false; -explain select count(1) from srcpart where true and hr='11'; -explain select count(1) from srcpart where true or hr='11'; -explain select count(1) from srcpart where false or hr='11'; -explain select count(1) from srcpart where false and hr='11'; \ No newline at end of file +explain select count(1) from `s/cpart` where true; +explain select count(1) from `s/cpart` where false; +explain select count(1) from `s/cpart` where true and hr='11'; +explain select count(1) from `s/cpart` where true or hr='11'; +explain select count(1) from `s/cpart` where false or hr='11'; +explain select count(1) from `s/cpart` where false and hr='11'; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/partition_char.q b/ql/src/test/queries/clientpositive/partition_char.q index a42e091..3d4847b 100644 --- a/ql/src/test/queries/clientpositive/partition_char.q +++ b/ql/src/test/queries/clientpositive/partition_char.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table partition_char_1; create table partition_char_1 (key string, value char(20)) partitioned by (dt char(10), region int); insert overwrite table partition_char_1 partition(dt='2000-01-01', region=1) - select * from src tablesample (10 rows); + select * from `s/c` tablesample (10 rows); select * from partition_char_1 limit 1; diff --git a/ql/src/test/queries/clientpositive/partition_coltype_literals.q b/ql/src/test/queries/clientpositive/partition_coltype_literals.q index bfd208d..95a1af7 100644 --- a/ql/src/test/queries/clientpositive/partition_coltype_literals.q +++ b/ql/src/test/queries/clientpositive/partition_coltype_literals.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists partcoltypenum; create table partcoltypenum (key int, value string) partitioned by (tint tinyint, sint smallint, bint bigint); @@ -20,8 +54,8 @@ alter table partcoltypenum partition(tint=100, sint=20000, bint=300000000000) re describe formatted partcoltypenum partition (tint=110Y, sint=22000, bint='330000000000'); -- insert partition -insert into partcoltypenum partition (tint=110Y, sint=22000S, bint=330000000000L) select key, value from src limit 10; -insert into partcoltypenum partition (tint=110, sint=22000, bint=330000000000) select key, value from src limit 20; +insert into partcoltypenum partition (tint=110Y, sint=22000S, bint=330000000000L) select key, value from `s/c` limit 10; +insert into partcoltypenum partition (tint=110, sint=22000, bint=330000000000) select key, value from `s/c` limit 20; -- select partition select count(1) from partcoltypenum where tint=110Y and sint=22000S and bint=330000000000L; @@ -52,7 +86,7 @@ alter table partcoltypenum drop partition (tint=110BD, sint=22000S, bint=3300000 show partitions partcoltypenum; -- change partition file location -insert into partcoltypenum partition (tint=100BD, sint=20000S, bint=300000000000L) select key, value from src limit 10; +insert into partcoltypenum partition (tint=100BD, sint=20000S, bint=300000000000L) select key, value from `s/c` limit 10; describe formatted partcoltypenum partition (tint=100BD, sint=20000S, bint=300000000000L); alter table partcoltypenum partition(tint=100BD, sint=20000S, bint=300000000000L) set location "file:/test/test/tint=1/sint=2/bint=3"; describe formatted partcoltypenum partition (tint=100BD, sint=20000S, bint=300000000000L); @@ -63,7 +97,7 @@ drop table if exists partcoltypeothers; create table partcoltypeothers (key int, value string) partitioned by (decpart decimal(6,2), datepart date); set hive.typecheck.on.insert=false; -insert into partcoltypeothers partition (decpart = 1000.01BD, datepart = date '2015-4-13') select key, value from src limit 10; +insert into partcoltypeothers partition (decpart = 1000.01BD, datepart = date '2015-4-13') select key, value from `s/c` limit 10; show partitions partcoltypeothers; set hive.typecheck.on.insert=true; diff --git a/ql/src/test/queries/clientpositive/partition_date.q b/ql/src/test/queries/clientpositive/partition_date.q index 70a7b25..e93f302 100644 --- a/ql/src/test/queries/clientpositive/partition_date.q +++ b/ql/src/test/queries/clientpositive/partition_date.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table partition_date_1; create table partition_date_1 (key string, value string) partitioned by (dt date, region string); insert overwrite table partition_date_1 partition(dt='2000-01-01', region= '1') - select * from src tablesample (10 rows); + select * from `s/c` tablesample (10 rows); insert overwrite table partition_date_1 partition(dt='2000-01-01', region= '2') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_date_1 partition(dt='2013-12-10', region= '2020-20-20') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_date_1 partition(dt='2013-08-08', region= '1') - select * from src tablesample (20 rows); + select * from `s/c` tablesample (20 rows); insert overwrite table partition_date_1 partition(dt='2013-08-08', region= '10') - select * from src tablesample (11 rows); + select * from `s/c` tablesample (11 rows); select distinct dt from partition_date_1; diff --git a/ql/src/test/queries/clientpositive/partition_date2.q b/ql/src/test/queries/clientpositive/partition_date2.q index 51ac2cd..c72ae3f 100644 --- a/ql/src/test/queries/clientpositive/partition_date2.q +++ b/ql/src/test/queries/clientpositive/partition_date2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table partition_date2_1; @@ -5,7 +39,7 @@ drop table partition_date2_1; create table partition_date2_1 (key string, value string) partitioned by (dt date, region int); -- test date literal syntax -from (select * from src tablesample (1 rows)) x +from (select * from `s/c` tablesample (1 rows)) x insert overwrite table partition_date2_1 partition(dt=date '2000-01-01', region=1) select * insert overwrite table partition_date2_1 partition(dt=date '2000-01-01', region=2) select * insert overwrite table partition_date2_1 partition(dt=date '1999-01-01', region=2) select *; @@ -15,7 +49,7 @@ select * from partition_date2_1; -- insert overwrite insert overwrite table partition_date2_1 partition(dt=date '2000-01-01', region=2) - select 'changed_key', 'changed_value' from src tablesample (2 rows); + select 'changed_key', 'changed_value' from `s/c` tablesample (2 rows); select * from partition_date2_1; -- truncate @@ -43,7 +77,7 @@ alter table partition_date2_1 partition(dt=date '1980-01-02', region=3) describe extended partition_date2_1 partition(dt=date '1980-01-02', region=3); insert overwrite table partition_date2_1 partition(dt=date '1980-01-02', region=3) - select * from src tablesample (2 rows); + select * from `s/c` tablesample (2 rows); select * from partition_date2_1 order by key,value,dt,region; -- alter table set location diff --git a/ql/src/test/queries/clientpositive/partition_decode_name.q b/ql/src/test/queries/clientpositive/partition_decode_name.q index a8381a4..cd20258 100644 --- a/ql/src/test/queries/clientpositive/partition_decode_name.q +++ b/ql/src/test/queries/clientpositive/partition_decode_name.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table sc as select * -from (select '2011-01-11', '2011-01-11+14:18:26' from src tablesample (1 rows) +from (select '2011-01-11', '2011-01-11+14:18:26' from `s/c` tablesample (1 rows) union all - select '2011-01-11', '2011-01-11+15:18:26' from src tablesample (1 rows) + select '2011-01-11', '2011-01-11+15:18:26' from `s/c` tablesample (1 rows) union all - select '2011-01-11', '2011-01-11+16:18:26' from src tablesample (1 rows) ) s; + select '2011-01-11', '2011-01-11+16:18:26' from `s/c` tablesample (1 rows) ) s; create table sc_part (key string) partitioned by (ts string) stored as rcfile; diff --git a/ql/src/test/queries/clientpositive/partition_multilevels.q b/ql/src/test/queries/clientpositive/partition_multilevels.q index bde4c62..48eba6f 100644 --- a/ql/src/test/queries/clientpositive/partition_multilevels.q +++ b/ql/src/test/queries/clientpositive/partition_multilevels.q @@ -1,34 +1,68 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_test_multilevel (key string, value string) partitioned by (level1 string, level2 string, level3 string); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='11') select key, value from srcpart tablesample (11 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='22') select key, value from srcpart tablesample (12 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='33') select key, value from srcpart tablesample (13 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='44') select key, value from srcpart tablesample (14 rows); - -insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='11') select key, value from srcpart tablesample (15 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='22') select key, value from srcpart tablesample (16 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='33') select key, value from srcpart tablesample (17 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='44') select key, value from srcpart tablesample (18 rows); - -insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='11') select key, value from srcpart tablesample (19 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='22') select key, value from srcpart tablesample (20 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='33') select key, value from srcpart tablesample (21 rows); -insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='44') select key, value from srcpart tablesample (22 rows); - -insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='11') select key, value from srcpart tablesample (11 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='22') select key, value from srcpart tablesample (12 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='33') select key, value from srcpart tablesample (13 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='44') select key, value from srcpart tablesample (14 rows); - -insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='11') select key, value from srcpart tablesample (15 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='22') select key, value from srcpart tablesample (16 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='33') select key, value from srcpart tablesample (17 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='44') select key, value from srcpart tablesample (18 rows); - -insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='11') select key, value from srcpart tablesample (19 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='22') select key, value from srcpart tablesample (20 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='33') select key, value from srcpart tablesample (21 rows); -insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='44') select key, value from srcpart tablesample (22 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='11') select key, value from `s/cpart` tablesample (11 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='22') select key, value from `s/cpart` tablesample (12 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='33') select key, value from `s/cpart` tablesample (13 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='111', level3='44') select key, value from `s/cpart` tablesample (14 rows); + +insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='11') select key, value from `s/cpart` tablesample (15 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='22') select key, value from `s/cpart` tablesample (16 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='33') select key, value from `s/cpart` tablesample (17 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='222', level3='44') select key, value from `s/cpart` tablesample (18 rows); + +insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='11') select key, value from `s/cpart` tablesample (19 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='22') select key, value from `s/cpart` tablesample (20 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='33') select key, value from `s/cpart` tablesample (21 rows); +insert overwrite table partition_test_multilevel partition(level1='1111', level2='333', level3='44') select key, value from `s/cpart` tablesample (22 rows); + +insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='11') select key, value from `s/cpart` tablesample (11 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='22') select key, value from `s/cpart` tablesample (12 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='33') select key, value from `s/cpart` tablesample (13 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='111', level3='44') select key, value from `s/cpart` tablesample (14 rows); + +insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='11') select key, value from `s/cpart` tablesample (15 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='22') select key, value from `s/cpart` tablesample (16 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='33') select key, value from `s/cpart` tablesample (17 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='222', level3='44') select key, value from `s/cpart` tablesample (18 rows); + +insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='11') select key, value from `s/cpart` tablesample (19 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='22') select key, value from `s/cpart` tablesample (20 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='33') select key, value from `s/cpart` tablesample (21 rows); +insert overwrite table partition_test_multilevel partition(level1='2222', level2='333', level3='44') select key, value from `s/cpart` tablesample (22 rows); set metaconf:hive.metastore.try.direct.sql=false; diff --git a/ql/src/test/queries/clientpositive/partition_schema1.q b/ql/src/test/queries/clientpositive/partition_schema1.q index 550ea47..00091bd 100644 --- a/ql/src/test/queries/clientpositive/partition_schema1.q +++ b/ql/src/test/queries/clientpositive/partition_schema1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_schema1(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_serde_format.q b/ql/src/test/queries/clientpositive/partition_serde_format.q index 9f7620c..9f8c601 100644 --- a/ql/src/test/queries/clientpositive/partition_serde_format.q +++ b/ql/src/test/queries/clientpositive/partition_serde_format.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src_part_serde (key int, value string) partitioned by (ds string) stored as sequencefile; -insert overwrite table src_part_serde partition (ds='2011') select * from src; +insert overwrite table src_part_serde partition (ds='2011') select * from `s/c`; alter table src_part_serde set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' with SERDEPROPERTIES ('serialization.format'='\t'); select key, value from src_part_serde where ds='2011' order by key, value limit 20; diff --git a/ql/src/test/queries/clientpositive/partition_special_char.q b/ql/src/test/queries/clientpositive/partition_special_char.q index b0b1ff4..b54ab94 100644 --- a/ql/src/test/queries/clientpositive/partition_special_char.q +++ b/ql/src/test/queries/clientpositive/partition_special_char.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table sc as select * -from (select '2011-01-11', '2011-01-11+14:18:26' from src tablesample (1 rows) +from (select '2011-01-11', '2011-01-11+14:18:26' from `s/c` tablesample (1 rows) union all - select '2011-01-11', '2011-01-11+15:18:26' from src tablesample (1 rows) + select '2011-01-11', '2011-01-11+15:18:26' from `s/c` tablesample (1 rows) union all - select '2011-01-11', '2011-01-11+16:18:26' from src tablesample (1 rows) ) s; + select '2011-01-11', '2011-01-11+16:18:26' from `s/c` tablesample (1 rows) ) s; create table sc_part (key string) partitioned by (ts string) stored as rcfile; diff --git a/ql/src/test/queries/clientpositive/partition_timestamp.q b/ql/src/test/queries/clientpositive/partition_timestamp.q index 6f290fa..1a9a0ab 100644 --- a/ql/src/test/queries/clientpositive/partition_timestamp.q +++ b/ql/src/test/queries/clientpositive/partition_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Exclude test on Windows due to space character being escaped in Hive paths on Windows. -- EXCLUDE_OS_WINDOWS drop table partition_timestamp_1; @@ -5,15 +39,15 @@ drop table partition_timestamp_1; create table partition_timestamp_1 (key string, value string) partitioned by (dt timestamp, region string); insert overwrite table partition_timestamp_1 partition(dt='2000-01-01 01:00:00', region= '1') - select * from src tablesample (10 rows); + select * from `s/c` tablesample (10 rows); insert overwrite table partition_timestamp_1 partition(dt='2000-01-01 02:00:00', region= '2') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 01:00:00', region= '2020-20-20') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 02:00:00', region= '1') - select * from src tablesample (20 rows); + select * from `s/c` tablesample (20 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 03:00:00', region= '10') - select * from src tablesample (11 rows); + select * from `s/c` tablesample (11 rows); select distinct dt from partition_timestamp_1; select * from partition_timestamp_1 where dt = '2000-01-01 01:00:00' and region = '2' order by key,value; diff --git a/ql/src/test/queries/clientpositive/partition_timestamp2.q b/ql/src/test/queries/clientpositive/partition_timestamp2.q index a2c1c07..da3b360 100644 --- a/ql/src/test/queries/clientpositive/partition_timestamp2.q +++ b/ql/src/test/queries/clientpositive/partition_timestamp2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Exclude test on Windows due to space character being escaped in Hive paths on Windows. -- EXCLUDE_OS_WINDOWS drop table partition_timestamp2_1; @@ -5,7 +39,7 @@ drop table partition_timestamp2_1; create table partition_timestamp2_1 (key string, value string) partitioned by (dt timestamp, region int); -- test timestamp literal syntax -from (select * from src tablesample (1 rows)) x +from (select * from `s/c` tablesample (1 rows)) x insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 00:00:00', region=1) select * insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 01:00:00', region=1) select * insert overwrite table partition_timestamp2_1 partition(dt=timestamp '1999-01-01 00:00:00', region=2) select * @@ -16,7 +50,7 @@ select * from partition_timestamp2_1; -- insert overwrite insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 00:00:00', region=1) - select 'changed_key', 'changed_value' from src tablesample (2 rows); + select 'changed_key', 'changed_value' from `s/c` tablesample (2 rows); select * from partition_timestamp2_1; -- truncate @@ -44,7 +78,7 @@ alter table partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', describe extended partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', region=3); insert overwrite table partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', region=3) - select * from src tablesample (2 rows); + select * from `s/c` tablesample (2 rows); select * from partition_timestamp2_1 order by key,value,dt,region; -- alter table set location diff --git a/ql/src/test/queries/clientpositive/partition_timestamp2_win.q b/ql/src/test/queries/clientpositive/partition_timestamp2_win.q index 67b8f1e..d0b147f 100644 --- a/ql/src/test/queries/clientpositive/partition_timestamp2_win.q +++ b/ql/src/test/queries/clientpositive/partition_timestamp2_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Windows-specific due to space character being escaped in Hive paths on Windows. -- INCLUDE_OS_WINDOWS drop table partition_timestamp2_1; @@ -5,7 +39,7 @@ drop table partition_timestamp2_1; create table partition_timestamp2_1 (key string, value string) partitioned by (dt timestamp, region int); -- test timestamp literal syntax -from (select * from src tablesample (1 rows)) x +from (select * from `s/c` tablesample (1 rows)) x insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 00:00:00', region=1) select * insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 01:00:00', region=1) select * insert overwrite table partition_timestamp2_1 partition(dt=timestamp '1999-01-01 00:00:00', region=2) select * @@ -16,7 +50,7 @@ select * from partition_timestamp2_1; -- insert overwrite insert overwrite table partition_timestamp2_1 partition(dt=timestamp '2000-01-01 00:00:00', region=1) - select 'changed_key', 'changed_value' from src tablesample (2 rows); + select 'changed_key', 'changed_value' from `s/c` tablesample (2 rows); select * from partition_timestamp2_1; -- truncate @@ -44,7 +78,7 @@ alter table partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', describe extended partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', region=3); insert overwrite table partition_timestamp2_1 partition(dt=timestamp '1980-01-02 00:00:00', region=3) - select * from src tablesample (2 rows); + select * from `s/c` tablesample (2 rows); select * from partition_timestamp2_1 order by key,value,dt,region; -- alter table set location diff --git a/ql/src/test/queries/clientpositive/partition_timestamp_win.q b/ql/src/test/queries/clientpositive/partition_timestamp_win.q index bcc87df..5be3e6c 100644 --- a/ql/src/test/queries/clientpositive/partition_timestamp_win.q +++ b/ql/src/test/queries/clientpositive/partition_timestamp_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Windows-specific test due to space character being escaped in Hive paths on Windows. -- INCLUDE_OS_WINDOWS drop table partition_timestamp_1; @@ -5,15 +39,15 @@ drop table partition_timestamp_1; create table partition_timestamp_1 (key string, value string) partitioned by (dt timestamp, region string); insert overwrite table partition_timestamp_1 partition(dt='2000-01-01 01:00:00', region= '1') - select * from src tablesample (10 rows); + select * from `s/c` tablesample (10 rows); insert overwrite table partition_timestamp_1 partition(dt='2000-01-01 02:00:00', region= '2') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 01:00:00', region= '2020-20-20') - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 02:00:00', region= '1') - select * from src tablesample (20 rows); + select * from `s/c` tablesample (20 rows); insert overwrite table partition_timestamp_1 partition(dt='2001-01-01 03:00:00', region= '10') - select * from src tablesample (11 rows); + select * from `s/c` tablesample (11 rows); select distinct dt from partition_timestamp_1; select * from partition_timestamp_1 where dt = '2000-01-01 01:00:00' and region = '2' order by key,value; diff --git a/ql/src/test/queries/clientpositive/partition_type_check.q b/ql/src/test/queries/clientpositive/partition_type_check.q index c9bca99..144adf9 100644 --- a/ql/src/test/queries/clientpositive/partition_type_check.q +++ b/ql/src/test/queries/clientpositive/partition_type_check.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.typecheck.on.insert = true; -- begin part(string, string) pass(string, int) diff --git a/ql/src/test/queries/clientpositive/partition_type_in_plan.q b/ql/src/test/queries/clientpositive/partition_type_in_plan.q index 693dd24..e9de4c5 100644 --- a/ql/src/test/queries/clientpositive/partition_type_in_plan.q +++ b/ql/src/test/queries/clientpositive/partition_type_in_plan.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test partition column type is considered as the type given in table def -- and not as 'string' CREATE TABLE datePartTbl(col1 string) PARTITIONED BY (date_prt date); -- Add test partitions and some sample data INSERT OVERWRITE TABLE datePartTbl PARTITION(date_prt='2014-08-09') - SELECT 'col1-2014-08-09' FROM src LIMIT 1; + SELECT 'col1-2014-08-09' FROM `s/c` LIMIT 1; INSERT OVERWRITE TABLE datePartTbl PARTITION(date_prt='2014-08-10') - SELECT 'col1-2014-08-10' FROM src LIMIT 1; + SELECT 'col1-2014-08-10' FROM `s/c` LIMIT 1; -- Query where 'date_prt' value is restricted to given values in IN operator. SELECT * FROM datePartTbl WHERE date_prt IN (CAST('2014-08-09' AS DATE), CAST('2014-08-08' AS DATE)); diff --git a/ql/src/test/queries/clientpositive/partition_varchar1.q b/ql/src/test/queries/clientpositive/partition_varchar1.q index 22aadd3..980af7f 100644 --- a/ql/src/test/queries/clientpositive/partition_varchar1.q +++ b/ql/src/test/queries/clientpositive/partition_varchar1.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table partition_varchar_1; create table partition_varchar_1 (key string, value varchar(20)) partitioned by (dt varchar(10), region int); insert overwrite table partition_varchar_1 partition(dt='2000-01-01', region=1) - select * from src tablesample (10 rows); + select * from `s/c` tablesample (10 rows); insert overwrite table partition_varchar_1 partition(dt='2000-01-01', region=2) - select * from src tablesample (5 rows); + select * from `s/c` tablesample (5 rows); insert overwrite table partition_varchar_1 partition(dt='2013-08-08', region=1) - select * from src tablesample (20 rows); + select * from `s/c` tablesample (20 rows); insert overwrite table partition_varchar_1 partition(dt='2013-08-08', region=10) - select * from src tablesample (11 rows); + select * from `s/c` tablesample (11 rows); select distinct dt from partition_varchar_1; select * from partition_varchar_1 where dt = '2000-01-01' and region = 2 order by key,value; diff --git a/ql/src/test/queries/clientpositive/partition_varchar2.q b/ql/src/test/queries/clientpositive/partition_varchar2.q index 92cb742..89b8de5 100644 --- a/ql/src/test/queries/clientpositive/partition_varchar2.q +++ b/ql/src/test/queries/clientpositive/partition_varchar2.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table partition_varchar_2; create table partition_varchar_2 (key string, value varchar(20)) partitioned by (dt varchar(15), region int); insert overwrite table partition_varchar_2 partition(dt='2000-01-01', region=1) - select * from src order by key limit 1; + select * from `s/c` order by key limit 1; select * from partition_varchar_2 where cast(dt as varchar(10)) = '2000-01-01'; diff --git a/ql/src/test/queries/clientpositive/partition_vs_table_metadata.q b/ql/src/test/queries/clientpositive/partition_vs_table_metadata.q index 9f493e5..16d2ba7 100644 --- a/ql/src/test/queries/clientpositive/partition_vs_table_metadata.q +++ b/ql/src/test/queries/clientpositive/partition_vs_table_metadata.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_vs_table(key string, value string) partitioned by (ds string); -insert overwrite table partition_vs_table partition(ds='100') select key, value from src; +insert overwrite table partition_vs_table partition(ds='100') select key, value from `s/c`; alter table partition_vs_table add columns (newcol string); -insert overwrite table partition_vs_table partition(ds='101') select key, value, key from src; +insert overwrite table partition_vs_table partition(ds='101') select key, value, key from `s/c`; select key, value, newcol from partition_vs_table order by key, value, newcol; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat.q index f0d58cf..86fce3a 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat10.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat10.q index f15f72c..d581a94 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat10.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat10.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for binary serde data create table prt(key string, value string) partitioned by (dt string); -insert overwrite table prt partition(dt='1') select * from src where key = 238; +insert overwrite table prt partition(dt='1') select * from `s/c` where key = 238; select * from prt where dt is not null; select key+key, value from prt where dt is not null; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat11.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat11.q index 1a4291f..3ee81a8 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat11.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat11.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for binary serde data create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as rcfile; alter table partition_test_partitioned set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -insert overwrite table partition_test_partitioned partition(dt='1') select * from src where key = 238; +insert overwrite table partition_test_partitioned partition(dt='1') select * from `s/c` where key = 238; select * from partition_test_partitioned where dt is not null; select key+key, value from partition_test_partitioned where dt is not null; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat12.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat12.q index bc51cb5..0ef8e90 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat12.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat12.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for binary serde data create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as rcfile; alter table partition_test_partitioned set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -insert overwrite table partition_test_partitioned partition(dt='1') select * from src where key = 238; +insert overwrite table partition_test_partitioned partition(dt='1') select * from `s/c` where key = 238; select * from partition_test_partitioned where dt is not null; select key+key, value from partition_test_partitioned where dt is not null; @@ -13,14 +47,14 @@ alter table partition_test_partitioned change key key int; select key+key, value from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; -insert overwrite table partition_test_partitioned partition(dt='2') select * from src where key = 97; +insert overwrite table partition_test_partitioned partition(dt='2') select * from `s/c` where key = 97; alter table partition_test_partitioned add columns (value2 string); select key+key, value from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; -insert overwrite table partition_test_partitioned partition(dt='3') select key, value, value from src where key = 200; +insert overwrite table partition_test_partitioned partition(dt='3') select key, value, value from `s/c` where key = 200; select key+key, value, value2 from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat13.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat13.q index 2e4ae69..6507bba 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat13.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat13.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for partitioned tables for binary serde data for joins create table T1(key string, value string) partitioned by (dt string) stored as rcfile; alter table T1 set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -insert overwrite table T1 partition (dt='1') select * from src where key = 238 or key = 97; +insert overwrite table T1 partition (dt='1') select * from `s/c` where key = 238 or key = 97; alter table T1 change key key int; -insert overwrite table T1 partition (dt='2') select * from src where key = 238 or key = 97; +insert overwrite table T1 partition (dt='2') select * from `s/c` where key = 238 or key = 97; alter table T1 change key key string; create table T2(key string, value string) partitioned by (dt string) stored as rcfile; -insert overwrite table T2 partition (dt='1') select * from src where key = 238 or key = 97; +insert overwrite table T2 partition (dt='1') select * from `s/c` where key = 238 or key = 97; select /* + MAPJOIN(a) */ count(*) FROM T1 a JOIN T2 b ON a.key = b.key; select count(*) FROM T1 a JOIN T2 b ON a.key = b.key; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat14.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat14.q index f4d4d73..91e3b6a 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat14.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -10,11 +44,11 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS rcfile; alter table tbl1 set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; alter table tbl2 set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -insert overwrite table tbl1 partition (ds='1') select * from src where key < 10; -insert overwrite table tbl2 partition (ds='1') select * from src where key < 10; +insert overwrite table tbl1 partition (ds='1') select * from `s/c` where key < 10; +insert overwrite table tbl2 partition (ds='1') select * from `s/c` where key < 10; alter table tbl1 change key key int; -insert overwrite table tbl1 partition (ds='2') select * from src where key < 10; +insert overwrite table tbl1 partition (ds='2') select * from `s/c` where key < 10; alter table tbl1 change key key string; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat15.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat15.q index 6fce1e0..4e4af34 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat15.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat15.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for binary serde data create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as rcfile; insert overwrite table partition_test_partitioned partition(dt='1') -select * from src where key = 238; +select * from `s/c` where key = 238; select * from partition_test_partitioned where dt is not null; select key+key, value from partition_test_partitioned where dt is not null; @@ -20,7 +54,7 @@ select key+key, value from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; insert overwrite table partition_test_partitioned partition(dt='2') -select key, value, value from src where key = 86; +select key, value, value from `s/c` where key = 86; select key+key, value, value2, dt from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat16.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat16.q index 37bb1a7..4711343 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat16.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat16.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that the schema can be changed for binary serde data create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as textfile; insert overwrite table partition_test_partitioned partition(dt='1') -select * from src where key = 238; +select * from `s/c` where key = 238; select * from partition_test_partitioned where dt is not null; select key+key, value from partition_test_partitioned where dt is not null; @@ -20,7 +54,7 @@ select key+key, value from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; insert overwrite table partition_test_partitioned partition(dt='2') -select key, value, value from src where key = 86; +select key, value, value from `s/c` where key = 86; select key+key, value, value2, dt from partition_test_partitioned where dt is not null; select * from partition_test_partitioned where dt is not null; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat17.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat17.q index f769abb..4a984b3 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat17.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-5199, HIVE-5285 : CustomSerDe(1, 2, 3) are used here. -- The final results should be all NULL columns deserialized using -- CustomSerDe(1, 2, 3) irrespective of the inserted values diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat18.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat18.q index e9aef8a..1e4639c 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat18.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat18.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-5202 : Tests for SettableUnionObjectInspectors -- CustomSerDe(4,5) are used here. -- The final results should be all NULL columns deserialized using diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat2.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat2.q index de51cdd..ed44366 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat2.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat3.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat3.q index b85fec5..2e82248 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat3.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat4.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat4.q index 33decec..4a647dc 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat4.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table partition_test_partitioned(key string, value string) partitioned by (dt string); alter table partition_test_partitioned set fileformat sequencefile; insert overwrite table partition_test_partitioned partition(dt='1') select * from src1; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat5.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat5.q index fc3bb84..3245561 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat5.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat6.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat6.q index dac5ef2..66fd975 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat6.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat7.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat7.q index c4a19ad..7c590a7 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat7.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; create table partition_test_partitioned(key string, value string) partitioned by (dt string); diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat8.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat8.q index 46ea10f..efce9bd 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat8.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat8.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that a query can span multiple partitions which can not only have different file formats, but -- also different serdes create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as rcfile; -insert overwrite table partition_test_partitioned partition(dt='1') select * from src; +insert overwrite table partition_test_partitioned partition(dt='1') select * from `s/c`; alter table partition_test_partitioned set fileformat sequencefile; -insert overwrite table partition_test_partitioned partition(dt='2') select * from src; +insert overwrite table partition_test_partitioned partition(dt='2') select * from `s/c`; alter table partition_test_partitioned set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'; -insert overwrite table partition_test_partitioned partition(dt='3') select * from src; +insert overwrite table partition_test_partitioned partition(dt='3') select * from `s/c`; select * from partition_test_partitioned where dt is not null order by key, value, dt limit 20; select key+key as key, value, dt from partition_test_partitioned where dt is not null order by key, value, dt limit 20; diff --git a/ql/src/test/queries/clientpositive/partition_wise_fileformat9.q b/ql/src/test/queries/clientpositive/partition_wise_fileformat9.q index 5205585..7a46259 100644 --- a/ql/src/test/queries/clientpositive/partition_wise_fileformat9.q +++ b/ql/src/test/queries/clientpositive/partition_wise_fileformat9.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- This tests that a query can span multiple partitions which can not only have different file formats, but -- also different serdes create table partition_test_partitioned(key string, value string) partitioned by (dt string) stored as rcfile; -insert overwrite table partition_test_partitioned partition(dt='1') select * from src; +insert overwrite table partition_test_partitioned partition(dt='1') select * from `s/c`; alter table partition_test_partitioned set serde 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -insert overwrite table partition_test_partitioned partition(dt='2') select * from src; +insert overwrite table partition_test_partitioned partition(dt='2') select * from `s/c`; select * from partition_test_partitioned where dt is not null order by key, value, dt limit 20; select key+key as key, value, dt from partition_test_partitioned where dt is not null order by key, value, dt limit 20; diff --git a/ql/src/test/queries/clientpositive/partitions_json.q b/ql/src/test/queries/clientpositive/partitions_json.q index 825e3f6..0f73143 100644 --- a/ql/src/test/queries/clientpositive/partitions_json.q +++ b/ql/src/test/queries/clientpositive/partitions_json.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.ddl.output.format=json; CREATE TABLE add_part_test (key STRING, value STRING) PARTITIONED BY (ds STRING); diff --git a/ql/src/test/queries/clientpositive/pcr.q b/ql/src/test/queries/clientpositive/pcr.q index a2ffda3..439347e 100644 --- a/ql/src/test/queries/clientpositive/pcr.q +++ b/ql/src/test/queries/clientpositive/pcr.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table pcr_t1; drop table pcr_t2; drop table pcr_t3; create table pcr_t1 (key int, value string) partitioned by (ds string); -insert overwrite table pcr_t1 partition (ds='2000-04-08') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds='2000-04-09') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds='2000-04-10') select * from src where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-08') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-09') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-10') select * from `s/c` where key < 20 order by key; explain extended select key, value, ds from pcr_t1 where ds<='2000-04-09' and key<5 order by key, ds; select key, value, ds from pcr_t1 where ds<='2000-04-09' and key<5 order by key, ds; @@ -60,7 +94,7 @@ select * from pcr_t1 t1 join pcr_t1 t2 on t1.key=t2.key and t1.ds='2000-04-08' a explain extended select * from pcr_t1 t1 join pcr_t1 t2 on t1.key=t2.key and t1.ds='2000-04-08' and t2.ds='2000-04-09' order by t1.key; select * from pcr_t1 t1 join pcr_t1 t2 on t1.key=t2.key and t1.ds='2000-04-08' and t2.ds='2000-04-09' order by t1.key; -insert overwrite table pcr_t1 partition (ds='2000-04-11') select * from src where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-11') select * from `s/c` where key < 20 order by key; explain extended select key, value, ds from pcr_t1 where (ds>'2000-04-08' and ds<'2000-04-11') or (ds>='2000-04-08' and ds<='2000-04-11' and key=2) order by key, value, ds; select key, value, ds from pcr_t1 where (ds>'2000-04-08' and ds<'2000-04-11') or (ds>='2000-04-08' and ds<='2000-04-11' and key=2) order by key, value, ds; @@ -90,14 +124,14 @@ insert overwrite table pcr_t2 select key, value where ds='2000-04-08' and key=2 insert overwrite table pcr_t3 select key, value where ds='2000-04-08' and key=3; -explain extended select key, value from srcpart where ds='2008-04-08' and hr=11 order by key limit 10; -select key, value from srcpart where ds='2008-04-04' and hr=11 order by key limit 10; +explain extended select key, value from `s/cpart` where ds='2008-04-08' and hr=11 order by key limit 10; +select key, value from `s/cpart` where ds='2008-04-04' and hr=11 order by key limit 10; -explain extended select key, value, ds, hr from srcpart where ds='2008-04-08' and (hr='11' or hr='12') and key=11 order by key, ds, hr; -select key, value, ds, hr from srcpart where ds='2008-04-08' and (hr='11' or hr='12') and key=11 order by key, ds, hr; +explain extended select key, value, ds, hr from `s/cpart` where ds='2008-04-08' and (hr='11' or hr='12') and key=11 order by key, ds, hr; +select key, value, ds, hr from `s/cpart` where ds='2008-04-08' and (hr='11' or hr='12') and key=11 order by key, ds, hr; -explain extended select key, value, ds, hr from srcpart where hr='11' and key=11 order by key, ds, hr; -select key, value, ds, hr from srcpart where hr='11' and key=11 order by key, ds, hr; +explain extended select key, value, ds, hr from `s/cpart` where hr='11' and key=11 order by key, ds, hr; +select key, value, ds, hr from `s/cpart` where hr='11' and key=11 order by key, ds, hr; drop table pcr_t1; drop table pcr_t2; @@ -107,9 +141,9 @@ drop table pcr_t3; -- Test cases when a non-boolean ds expression has same and different values for all possible ds values: drop table pcr_foo; create table pcr_foo (key int, value string) partitioned by (ds int); -insert overwrite table pcr_foo partition (ds=3) select * from src where key < 10 order by key; -insert overwrite table pcr_foo partition (ds=5) select * from src where key < 10 order by key; -insert overwrite table pcr_foo partition (ds=7) select * from src where key < 10 order by key; +insert overwrite table pcr_foo partition (ds=3) select * from `s/c` where key < 10 order by key; +insert overwrite table pcr_foo partition (ds=5) select * from `s/c` where key < 10 order by key; +insert overwrite table pcr_foo partition (ds=7) select * from `s/c` where key < 10 order by key; -- the condition is 'true' for all the 3 partitions (ds=3,5,7): select key, value, ds from pcr_foo where (ds % 2 == 1); @@ -138,6 +172,6 @@ insert overwrite table foo_field partition (ds=7) select strct from ab where str select s,ds from foo_field where ((ds + s.a) > 0) order by ds,s; drop table foo_field; -explain select key,value from srcpart where cast(hr as double) = cast(11 as double); -explain select key,value from srcpart where hr = cast(11 as double); -explain select key,value from srcpart where cast(hr as double) = 11 ; +explain select key,value from `s/cpart` where cast(hr as double) = cast(11 as double); +explain select key,value from `s/cpart` where hr = cast(11 as double); +explain select key,value from `s/cpart` where cast(hr as double) = 11 ; diff --git a/ql/src/test/queries/clientpositive/plan_json.q b/ql/src/test/queries/clientpositive/plan_json.q index aa2b134..4784652 100644 --- a/ql/src/test/queries/clientpositive/plan_json.q +++ b/ql/src/test/queries/clientpositive/plan_json.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- explain plan json: the query gets the formatted json output of the query plan of the hive query -- JAVA_VERSION_SPECIFIC_OUTPUT -EXPLAIN FORMATTED SELECT count(1) FROM src; +EXPLAIN FORMATTED SELECT count(1) FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/pointlookup.q b/ql/src/test/queries/clientpositive/pointlookup.q index 1aef2ef..a5fdd65 100644 --- a/ql/src/test/queries/clientpositive/pointlookup.q +++ b/ql/src/test/queries/clientpositive/pointlookup.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain SELECT key -FROM src +FROM `s/c` WHERE ((key = '0' AND value = '8') OR (key = '1' @@ -22,7 +56,7 @@ set hive.optimize.point.lookup.extract=false; explain SELECT key -FROM src +FROM `s/c` WHERE ((key = '0' AND value = '8') OR (key = '1' @@ -42,7 +76,7 @@ set hive.optimize.point.lookup.extract=true; explain SELECT key -FROM src +FROM `s/c` WHERE ((key = '0' AND value = '8') OR (key = '1' diff --git a/ql/src/test/queries/clientpositive/pointlookup2.q b/ql/src/test/queries/clientpositive/pointlookup2.q index 31bebbb..1c42b46 100644 --- a/ql/src/test/queries/clientpositive/pointlookup2.q +++ b/ql/src/test/queries/clientpositive/pointlookup2.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table pcr_t1; drop table pcr_t2; drop table pcr_t3; create table pcr_t1 (key int, value string) partitioned by (ds string); -insert overwrite table pcr_t1 partition (ds='2000-04-08') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds='2000-04-09') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds='2000-04-10') select * from src where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-08') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-09') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds='2000-04-10') select * from `s/c` where key < 20 order by key; create table pcr_t2 (ds string, key int, value string); from pcr_t1 diff --git a/ql/src/test/queries/clientpositive/pointlookup3.q b/ql/src/test/queries/clientpositive/pointlookup3.q index 3daa94b..0a8dd9c 100644 --- a/ql/src/test/queries/clientpositive/pointlookup3.q +++ b/ql/src/test/queries/clientpositive/pointlookup3.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table pcr_t1; create table pcr_t1 (key int, value string) partitioned by (ds1 string, ds2 string); -insert overwrite table pcr_t1 partition (ds1='2000-04-08', ds2='2001-04-08') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds1='2000-04-09', ds2='2001-04-09') select * from src where key < 20 order by key; -insert overwrite table pcr_t1 partition (ds1='2000-04-10', ds2='2001-04-10') select * from src where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds1='2000-04-08', ds2='2001-04-08') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds1='2000-04-09', ds2='2001-04-09') select * from `s/c` where key < 20 order by key; +insert overwrite table pcr_t1 partition (ds1='2000-04-10', ds2='2001-04-10') select * from `s/c` where key < 20 order by key; set hive.optimize.point.lookup.min=2; set hive.optimize.point.lookup.extract=true; diff --git a/ql/src/test/queries/clientpositive/ppd1.q b/ql/src/test/queries/clientpositive/ppd1.q index a5a4db0..050a8e5 100644 --- a/ql/src/test/queries/clientpositive/ppd1.q +++ b/ql/src/test/queries/clientpositive/ppd1.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN -SELECT src.key as c3 from src where src.key > '2'; +SELECT `s/c`.key as c3 from `s/c` where `s/c`.key > '2'; -SELECT src.key as c3 from src where src.key > '2'; +SELECT `s/c`.key as c3 from `s/c` where `s/c`.key > '2'; set hive.ppd.remove.duplicatefilters=true; EXPLAIN -SELECT src.key as c3 from src where src.key > '2'; +SELECT `s/c`.key as c3 from `s/c` where `s/c`.key > '2'; -SELECT src.key as c3 from src where src.key > '2'; +SELECT `s/c`.key as c3 from `s/c` where `s/c`.key > '2'; diff --git a/ql/src/test/queries/clientpositive/ppd2.q b/ql/src/test/queries/clientpositive/ppd2.q index 536eb98..ec48fbf 100644 --- a/ql/src/test/queries/clientpositive/ppd2.q +++ b/ql/src/test/queries/clientpositive/ppd2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; @@ -7,7 +41,7 @@ from ( select a.* from ( select key, count(value) as cc - from srcpart a + from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' group by key )a @@ -20,7 +54,7 @@ from ( select a.* from ( select key, count(value) as cc - from srcpart a + from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' group by key )a @@ -36,12 +70,12 @@ FROM ( ,CASE WHEN (value LIKE 'aaa%' OR value LIKE 'vvv%') THEN 1 ELSE 0 END AS tag_student - FROM srcpart + FROM `s/cpart` ) sub WHERE sub.tag_student > 0; EXPLAIN -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -52,7 +86,7 @@ from ( select a.* from ( select key, count(value) as cc - from srcpart a + from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' group by key )a @@ -65,7 +99,7 @@ from ( select a.* from ( select key, count(value) as cc - from srcpart a + from `s/cpart` a where a.ds = '2008-04-08' and a.hr = '11' group by key )a diff --git a/ql/src/test/queries/clientpositive/ppd_clusterby.q b/ql/src/test/queries/clientpositive/ppd_clusterby.q index 0c8b245..998b9cb 100644 --- a/ql/src/test/queries/clientpositive/ppd_clusterby.q +++ b/ql/src/test/queries/clientpositive/ppd_clusterby.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; EXPLAIN -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; set hive.ppd.remove.duplicatefilters=true; EXPLAIN -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; -SELECT * FROM SRC x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; +SELECT * FROM `s/c` x where x.key = 10 CLUSTER BY x.key; EXPLAIN -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; -SELECT x.key, x.value as v1, y.key FROM SRC x JOIN SRC y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1;; +SELECT x.key, x.value as v1, y.key FROM `s/c` x JOIN `s/c` y ON (x.key = y.key) where x.key = 20 CLUSTER BY v1; diff --git a/ql/src/test/queries/clientpositive/ppd_constant_expr.q b/ql/src/test/queries/clientpositive/ppd_constant_expr.q index 969c7e4..d6a9c1c 100644 --- a/ql/src/test/queries/clientpositive/ppd_constant_expr.q +++ b/ql/src/test/queries/clientpositive/ppd_constant_expr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; diff --git a/ql/src/test/queries/clientpositive/ppd_constant_where.q b/ql/src/test/queries/clientpositive/ppd_constant_where.q index 0c10235..85fb0e3 100644 --- a/ql/src/test/queries/clientpositive/ppd_constant_where.q +++ b/ql/src/test/queries/clientpositive/ppd_constant_where.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test that the partition pruner does not fail when there is a constant expression in the filter -EXPLAIN SELECT COUNT(*) FROM srcpart WHERE ds = '2008-04-08' and 'a' = 'a'; +EXPLAIN SELECT COUNT(*) FROM `s/cpart` WHERE ds = '2008-04-08' and 'a' = 'a'; -SELECT COUNT(*) FROM srcpart WHERE ds = '2008-04-08' and 'a' = 'a'; +SELECT COUNT(*) FROM `s/cpart` WHERE ds = '2008-04-08' and 'a' = 'a'; diff --git a/ql/src/test/queries/clientpositive/ppd_field_garbage.q b/ql/src/test/queries/clientpositive/ppd_field_garbage.q index 67bea5c..1d0752b 100644 --- a/ql/src/test/queries/clientpositive/ppd_field_garbage.q +++ b/ql/src/test/queries/clientpositive/ppd_field_garbage.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.sql11.reserved.keywords=false; -- We need the above setting for backward compatibility because 'user' is a keyword in SQL2011 -- ppd leaves invalid expr in field expr diff --git a/ql/src/test/queries/clientpositive/ppd_gby.q b/ql/src/test/queries/clientpositive/ppd_gby.q index 65c0b01..beb5f6c 100644 --- a/ql/src/test/queries/clientpositive/ppd_gby.q +++ b/ql/src/test/queries/clientpositive/ppd_gby.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1 FROM -(SELECT src.value as c1, count(src.key) as c2 from src where src.value > 'val_10' group by src.value) src1 +(SELECT `s/c`.value as c1, count(`s/c`.key) as c2 from `s/c` where `s/c`.value > 'val_10' group by `s/c`.value) src1 WHERE src1.c1 > 'val_200' and (src1.c2 > 30 or src1.c1 < 'val_400'); SELECT src1.c1 FROM -(SELECT src.value as c1, count(src.key) as c2 from src where src.value > 'val_10' group by src.value) src1 +(SELECT `s/c`.value as c1, count(`s/c`.key) as c2 from `s/c` where `s/c`.value > 'val_10' group by `s/c`.value) src1 WHERE src1.c1 > 'val_200' and (src1.c2 > 30 or src1.c1 < 'val_400'); set hive.ppd.remove.duplicatefilters=true; @@ -17,10 +51,10 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1 FROM -(SELECT src.value as c1, count(src.key) as c2 from src where src.value > 'val_10' group by src.value) src1 +(SELECT `s/c`.value as c1, count(`s/c`.key) as c2 from `s/c` where `s/c`.value > 'val_10' group by `s/c`.value) src1 WHERE src1.c1 > 'val_200' and (src1.c2 > 30 or src1.c1 < 'val_400'); SELECT src1.c1 FROM -(SELECT src.value as c1, count(src.key) as c2 from src where src.value > 'val_10' group by src.value) src1 +(SELECT `s/c`.value as c1, count(`s/c`.key) as c2 from `s/c` where `s/c`.value > 'val_10' group by `s/c`.value) src1 WHERE src1.c1 > 'val_200' and (src1.c2 > 30 or src1.c1 < 'val_400'); diff --git a/ql/src/test/queries/clientpositive/ppd_gby2.q b/ql/src/test/queries/clientpositive/ppd_gby2.q index ae288ea..e0961aa 100644 --- a/ql/src/test/queries/clientpositive/ppd_gby2.q +++ b/ql/src/test/queries/clientpositive/ppd_gby2.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT max(src1.c1), src1.c2 FROM -(SELECT src.value AS c1, count(src.key) AS c2 FROM src WHERE src.value > 'val_10' GROUP BY src.value) src1 +(SELECT `s/c`.value AS c1, count(`s/c`.key) AS c2 FROM `s/c` WHERE `s/c`.value > 'val_10' GROUP BY `s/c`.value) src1 WHERE src1.c1 > 'val_200' AND (src1.c2 > 30 OR src1.c1 < 'val_400') GROUP BY src1.c2; SELECT max(src1.c1), src1.c2 FROM -(SELECT src.value AS c1, count(src.key) AS c2 FROM src WHERE src.value > 'val_10' GROUP BY src.value) src1 +(SELECT `s/c`.value AS c1, count(`s/c`.key) AS c2 FROM `s/c` WHERE `s/c`.value > 'val_10' GROUP BY `s/c`.value) src1 WHERE src1.c1 > 'val_200' AND (src1.c2 > 30 OR src1.c1 < 'val_400') GROUP BY src1.c2; @@ -19,12 +53,12 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT max(src1.c1), src1.c2 FROM -(SELECT src.value AS c1, count(src.key) AS c2 FROM src WHERE src.value > 'val_10' GROUP BY src.value) src1 +(SELECT `s/c`.value AS c1, count(`s/c`.key) AS c2 FROM `s/c` WHERE `s/c`.value > 'val_10' GROUP BY `s/c`.value) src1 WHERE src1.c1 > 'val_200' AND (src1.c2 > 30 OR src1.c1 < 'val_400') GROUP BY src1.c2; SELECT max(src1.c1), src1.c2 FROM -(SELECT src.value AS c1, count(src.key) AS c2 FROM src WHERE src.value > 'val_10' GROUP BY src.value) src1 +(SELECT `s/c`.value AS c1, count(`s/c`.key) AS c2 FROM `s/c` WHERE `s/c`.value > 'val_10' GROUP BY `s/c`.value) src1 WHERE src1.c1 > 'val_200' AND (src1.c2 > 30 OR src1.c1 < 'val_400') GROUP BY src1.c2; diff --git a/ql/src/test/queries/clientpositive/ppd_gby_join.q b/ql/src/test/queries/clientpositive/ppd_gby_join.q index 96f7f8f..d3f448c 100644 --- a/ql/src/test/queries/clientpositive/ppd_gby_join.q +++ b/ql/src/test/queries/clientpositive/ppd_gby_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -6,17 +40,17 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1, count(1) FROM -(SELECT src.key AS c1, src.value AS c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key AS c1, `s/c`.value AS c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key AS c3, src.value AS c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key AS c3, `s/c`.value AS c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' AND (src1.c2 < 'val_50' OR src1.c1 > '2') AND (src2.c3 > '50' OR src1.c1 < '50') AND (src2.c3 <> '4') GROUP BY src1.c1; SELECT src1.c1, count(1) FROM -(SELECT src.key AS c1, src.value AS c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key AS c1, `s/c`.value AS c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key AS c3, src.value AS c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key AS c3, `s/c`.value AS c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' AND (src1.c2 < 'val_50' OR src1.c1 > '2') AND (src2.c3 > '50' OR src1.c1 < '50') AND (src2.c3 <> '4') GROUP BY src1.c1; @@ -26,17 +60,17 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1, count(1) FROM -(SELECT src.key AS c1, src.value AS c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key AS c1, `s/c`.value AS c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key AS c3, src.value AS c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key AS c3, `s/c`.value AS c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' AND (src1.c2 < 'val_50' OR src1.c1 > '2') AND (src2.c3 > '50' OR src1.c1 < '50') AND (src2.c3 <> '4') GROUP BY src1.c1; SELECT src1.c1, count(1) FROM -(SELECT src.key AS c1, src.value AS c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key AS c1, `s/c`.value AS c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key AS c3, src.value AS c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key AS c3, `s/c`.value AS c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' AND (src1.c2 < 'val_50' OR src1.c1 > '2') AND (src2.c3 > '50' OR src1.c1 < '50') AND (src2.c3 <> '4') GROUP BY src1.c1; diff --git a/ql/src/test/queries/clientpositive/ppd_join.q b/ql/src/test/queries/clientpositive/ppd_join.q index 1a2a198..4790f65 100644 --- a/ql/src/test/queries/clientpositive/ppd_join.q +++ b/ql/src/test/queries/clientpositive/ppd_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -6,17 +40,17 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' and (src1.c2 < 'val_50' or src1.c1 > '2') and (src2.c3 > '50' or src1.c1 < '50') and (src2.c3 <> '4'); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' and (src1.c2 < 'val_50' or src1.c1 > '2') and (src2.c3 > '50' or src1.c1 < '50') and (src2.c3 <> '4'); @@ -25,16 +59,16 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' and (src1.c2 < 'val_50' or src1.c1 > '2') and (src2.c3 > '50' or src1.c1 < '50') and (src2.c3 <> '4'); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key > '1' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key > '1' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' WHERE src1.c1 > '20' and (src1.c2 < 'val_50' or src1.c1 > '2') and (src2.c3 > '50' or src1.c1 < '50') and (src2.c3 <> '4'); diff --git a/ql/src/test/queries/clientpositive/ppd_join2.q b/ql/src/test/queries/clientpositive/ppd_join2.q index de8db73..a164ea5 100644 --- a/ql/src/test/queries/clientpositive/ppd_join2.q +++ b/ql/src/test/queries/clientpositive/ppd_join2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -6,23 +40,23 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '302' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '302' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '305' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '305' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '306' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '306' ) src3 ON src1.c2 = src3.c6 WHERE src1.c1 <> '311' and (src1.c2 <> 'val_50' or src1.c1 > '1') and (src2.c3 <> '10' or src1.c1 <> '10') and (src2.c3 <> '14') and (sqrt(src3.c5) <> 13); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '302' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '302' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '305' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '305' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '306' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '306' ) src3 ON src1.c2 = src3.c6 WHERE src1.c1 <> '311' and (src1.c2 <> 'val_50' or src1.c1 > '1') and (src2.c3 <> '10' or src1.c1 <> '10') and (src2.c3 <> '14') and (sqrt(src3.c5) <> 13); @@ -31,22 +65,22 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '302' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '302' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '305' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '305' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '306' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '306' ) src3 ON src1.c2 = src3.c6 WHERE src1.c1 <> '311' and (src1.c2 <> 'val_50' or src1.c1 > '1') and (src2.c3 <> '10' or src1.c1 <> '10') and (src2.c3 <> '14') and (sqrt(src3.c5) <> 13); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '302' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '302' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '305' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '305' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '306' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '306' ) src3 ON src1.c2 = src3.c6 WHERE src1.c1 <> '311' and (src1.c2 <> 'val_50' or src1.c1 > '1') and (src2.c3 <> '10' or src1.c1 <> '10') and (src2.c3 <> '14') and (sqrt(src3.c5) <> 13); diff --git a/ql/src/test/queries/clientpositive/ppd_join3.q b/ql/src/test/queries/clientpositive/ppd_join3.q index e2ffddf..1020ffc 100644 --- a/ql/src/test/queries/clientpositive/ppd_join3.q +++ b/ql/src/test/queries/clientpositive/ppd_join3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -6,23 +40,23 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '11' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '11' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '12' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '12' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '13' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '13' ) src3 ON src1.c1 = src3.c5 WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1'); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '11' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '11' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '12' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '12' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '13' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '13' ) src3 ON src1.c1 = src3.c5 WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1'); @@ -31,22 +65,22 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '11' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '11' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '12' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '12' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '13' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '13' ) src3 ON src1.c1 = src3.c5 WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1'); SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src where src.key <> '11' ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` where `s/c`.key <> '11' ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key <> '12' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key <> '12' ) src2 ON src1.c1 = src2.c3 AND src1.c1 < '400' JOIN -(SELECT src.key as c5, src.value as c6 from src where src.key <> '13' ) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c` where `s/c`.key <> '13' ) src3 ON src1.c1 = src3.c5 WHERE src1.c1 > '0' and (src1.c2 <> 'val_500' or src1.c1 > '1') and (src2.c3 > '10' or src1.c1 <> '10') and (src2.c3 <> '4') and (src3.c5 <> '1'); diff --git a/ql/src/test/queries/clientpositive/ppd_join4.q b/ql/src/test/queries/clientpositive/ppd_join4.q index 475d45c..958985e 100644 --- a/ql/src/test/queries/clientpositive/ppd_join4.q +++ b/ql/src/test/queries/clientpositive/ppd_join4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table dual(a string); set hive.optimize.ppd=true; diff --git a/ql/src/test/queries/clientpositive/ppd_join5.q b/ql/src/test/queries/clientpositive/ppd_join5.q index e1675d3..50ba7cf 100644 --- a/ql/src/test/queries/clientpositive/ppd_join5.q +++ b/ql/src/test/queries/clientpositive/ppd_join5.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t1 (id1 string, id2 string); create table t2 (id string, d int); -from src tablesample (1 rows) +from `s/c` tablesample (1 rows) insert into table t1 select 'a','a' insert into table t2 select 'a',2; diff --git a/ql/src/test/queries/clientpositive/ppd_join_filter.q b/ql/src/test/queries/clientpositive/ppd_join_filter.q index 9d42ef2..144aa38 100644 --- a/ql/src/test/queries/clientpositive/ppd_join_filter.q +++ b/ql/src/test/queries/clientpositive/ppd_join_filter.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; explain extended select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; @@ -31,27 +65,27 @@ set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; explain extended select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; @@ -60,27 +94,27 @@ set hive.optimize.ppd=false; set hive.ppd.remove.duplicatefilters=false; explain extended select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; @@ -89,27 +123,27 @@ set hive.optimize.ppd=faluse; set hive.ppd.remove.duplicatefilters=true; explain extended select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; select a.key, b.k2, b.k3 -from src a +from `s/c` a join ( select key, min(key) as k, min(key)+1 as k1, min(key)+2 as k2, min(key)+3 as k3 -from src +from `s/c` group by key ) b on a.key=b.key and b.k1 < 5; diff --git a/ql/src/test/queries/clientpositive/ppd_multi_insert.q b/ql/src/test/queries/clientpositive/ppd_multi_insert.q index 45f8c1f..ed8c00f 100644 --- a/ql/src/test/queries/clientpositive/ppd_multi_insert.q +++ b/ql/src/test/queries/clientpositive/ppd_multi_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -9,13 +43,13 @@ CREATE TABLE mi3(key INT) PARTITIONED BY(ds STRING, hr STRING) STORED AS TEXTFIL CREATE TABLE mi4(value STRING) STORED AS TEXTFILE; EXPLAIN -FROM src a JOIN src b ON (a.key = b.key) +FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) INSERT OVERWRITE TABLE mi1 SELECT a.* WHERE a.key < 100 INSERT OVERWRITE TABLE mi2 SELECT a.key, a.value WHERE a.key >= 100 and a.key < 200 INSERT OVERWRITE TABLE mi3 PARTITION(ds='2008-04-08', hr='12') SELECT a.key WHERE a.key >= 200 and a.key < 300 INSERT OVERWRITE DIRECTORY 'target/warehouse/mi4.out' SELECT a.value WHERE a.key >= 300; -FROM src a JOIN src b ON (a.key = b.key) +FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) INSERT OVERWRITE TABLE mi1 SELECT a.* WHERE a.key < 100 INSERT OVERWRITE TABLE mi2 SELECT a.key, a.value WHERE a.key >= 100 and a.key < 200 INSERT OVERWRITE TABLE mi3 PARTITION(ds='2008-04-08', hr='12') SELECT a.key WHERE a.key >= 200 and a.key < 300 @@ -31,13 +65,13 @@ SELECT mi4.* FROM mi4; set hive.ppd.remove.duplicatefilters=true; EXPLAIN -FROM src a JOIN src b ON (a.key = b.key) +FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) INSERT OVERWRITE TABLE mi1 SELECT a.* WHERE a.key < 100 INSERT OVERWRITE TABLE mi2 SELECT a.key, a.value WHERE a.key >= 100 and a.key < 200 INSERT OVERWRITE TABLE mi3 PARTITION(ds='2008-04-08', hr='12') SELECT a.key WHERE a.key >= 200 and a.key < 300 INSERT OVERWRITE DIRECTORY 'target/warehouse/mi4.out' SELECT a.value WHERE a.key >= 300; -FROM src a JOIN src b ON (a.key = b.key) +FROM `s/c` a JOIN `s/c` b ON (a.key = b.key) INSERT OVERWRITE TABLE mi1 SELECT a.* WHERE a.key < 100 INSERT OVERWRITE TABLE mi2 SELECT a.key, a.value WHERE a.key >= 100 and a.key < 200 INSERT OVERWRITE TABLE mi3 PARTITION(ds='2008-04-08', hr='12') SELECT a.key WHERE a.key >= 200 and a.key < 300 diff --git a/ql/src/test/queries/clientpositive/ppd_outer_join1.q b/ql/src/test/queries/clientpositive/ppd_outer_join1.q index cd992b3..a272cb2 100644 --- a/ql/src/test/queries/clientpositive/ppd_outer_join1.q +++ b/ql/src/test/queries/clientpositive/ppd_outer_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -5,17 +39,17 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; @@ -24,17 +58,17 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; diff --git a/ql/src/test/queries/clientpositive/ppd_outer_join2.q b/ql/src/test/queries/clientpositive/ppd_outer_join2.q index ad96afa..051552c 100644 --- a/ql/src/test/queries/clientpositive/ppd_outer_join2.q +++ b/ql/src/test/queries/clientpositive/ppd_outer_join2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -5,17 +39,17 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN FROM - src a + `s/c` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; FROM - src a + `s/c` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; @@ -24,17 +58,17 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM - src a + `s/c` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; FROM - src a + `s/c` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; diff --git a/ql/src/test/queries/clientpositive/ppd_outer_join3.q b/ql/src/test/queries/clientpositive/ppd_outer_join3.q index 03169a4..8644433 100644 --- a/ql/src/test/queries/clientpositive/ppd_outer_join3.q +++ b/ql/src/test/queries/clientpositive/ppd_outer_join3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -5,17 +39,17 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN FROM - src a + `s/c` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; FROM - src a + `s/c` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; @@ -24,17 +58,17 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM - src a + `s/c` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; FROM - src a + `s/c` a FULL OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; diff --git a/ql/src/test/queries/clientpositive/ppd_outer_join4.q b/ql/src/test/queries/clientpositive/ppd_outer_join4.q index 77f3be1..6c7bbf9 100644 --- a/ql/src/test/queries/clientpositive/ppd_outer_join4.q +++ b/ql/src/test/queries/clientpositive/ppd_outer_join4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; @@ -5,23 +39,23 @@ set hive.ppd.remove.duplicatefilters=false; EXPLAIN FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) RIGHT OUTER JOIN - src c + `s/c` c ON (a.key = c.key) SELECT a.key, a.value, b.key, b.value, c.key WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25' AND sqrt(c.key) <> 13 ; FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) RIGHT OUTER JOIN - src c + `s/c` c ON (a.key = c.key) SELECT a.key, a.value, b.key, b.value, c.key WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25' AND sqrt(c.key) <> 13 ; @@ -30,23 +64,23 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) RIGHT OUTER JOIN - src c + `s/c` c ON (a.key = c.key) SELECT a.key, a.value, b.key, b.value, c.key WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25' AND sqrt(c.key) <> 13 ; FROM - src a + `s/c` a LEFT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) RIGHT OUTER JOIN - src c + `s/c` c ON (a.key = c.key) SELECT a.key, a.value, b.key, b.value, c.key WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25' AND sqrt(c.key) <> 13 ; diff --git a/ql/src/test/queries/clientpositive/ppd_outer_join5.q b/ql/src/test/queries/clientpositive/ppd_outer_join5.q index 382b949..8fad062 100644 --- a/ql/src/test/queries/clientpositive/ppd_outer_join5.q +++ b/ql/src/test/queries/clientpositive/ppd_outer_join5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; diff --git a/ql/src/test/queries/clientpositive/ppd_random.q b/ql/src/test/queries/clientpositive/ppd_random.q index de0c067..3794b6b 100644 --- a/ql/src/test/queries/clientpositive/ppd_random.q +++ b/ql/src/test/queries/clientpositive/ppd_random.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 WHERE rand() > 0.5; @@ -15,8 +49,8 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT src1.c1, src2.c4 FROM -(SELECT src.key as c1, src.value as c2 from src ) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c` ) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src where src.key > '2' ) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c` where `s/c`.key > '2' ) src2 ON src1.c1 = src2.c3 WHERE rand() > 0.5; diff --git a/ql/src/test/queries/clientpositive/ppd_repeated_alias.q b/ql/src/test/queries/clientpositive/ppd_repeated_alias.q index 732671a..ac5d4a2 100644 --- a/ql/src/test/queries/clientpositive/ppd_repeated_alias.q +++ b/ql/src/test/queries/clientpositive/ppd_repeated_alias.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table pokes; drop table pokes2; create table pokes (foo int, bar int, blah int); diff --git a/ql/src/test/queries/clientpositive/ppd_transform.q b/ql/src/test/queries/clientpositive/ppd_transform.q index cd416ff..cb0f4b9 100644 --- a/ql/src/test/queries/clientpositive/ppd_transform.q +++ b/ql/src/test/queries/clientpositive/ppd_transform.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; set hive.entity.capture.transform=true; @@ -6,16 +40,16 @@ set hive.entity.capture.transform=true; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap @@ -25,16 +59,16 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'cat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap @@ -44,7 +78,7 @@ SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; EXPLAIN FROM ( - FROM ( SELECT * FROM src ) mapout REDUCE * USING 'cat' AS x,y + FROM ( SELECT * FROM `s/c` ) mapout REDUCE * USING 'cat' AS x,y ) reduced insert overwrite local directory '/tmp/a' select * where x='a' or x='b' insert overwrite local directory '/tmp/b' select * where x='c' or x='d'; diff --git a/ql/src/test/queries/clientpositive/ppd_udf_case.q b/ql/src/test/queries/clientpositive/ppd_udf_case.q index b7a6b15..fb6b242 100644 --- a/ql/src/test/queries/clientpositive/ppd_udf_case.q +++ b/ql/src/test/queries/clientpositive/ppd_udf_case.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT * -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key WHERE a.ds = '2008-04-08' AND b.ds = '2008-04-08' AND @@ -15,7 +49,7 @@ WHERE a.ds = '2008-04-08' AND ORDER BY a.key, a.value, a.ds, a.hr, b.key, b.value, b.ds, b.hr; SELECT * -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key WHERE a.ds = '2008-04-08' AND b.ds = '2008-04-08' AND @@ -30,7 +64,7 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT * -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key WHERE a.ds = '2008-04-08' AND b.ds = '2008-04-08' AND @@ -42,7 +76,7 @@ WHERE a.ds = '2008-04-08' AND ORDER BY a.key, a.value, a.ds, a.hr, b.key, b.value, b.ds, b.hr; SELECT * -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key WHERE a.ds = '2008-04-08' AND b.ds = '2008-04-08' AND diff --git a/ql/src/test/queries/clientpositive/ppd_udf_col.q b/ql/src/test/queries/clientpositive/ppd_udf_col.q index 993da97..04dead0 100644 --- a/ql/src/test/queries/clientpositive/ppd_udf_col.q +++ b/ql/src/test/queries/clientpositive/ppd_udf_col.q @@ -1,48 +1,82 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN SELECT key, randum123 -FROM (SELECT *, cast(rand() as double) AS randum123 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123 FROM `s/c` WHERE key = 100) a WHERE randum123 <=0.1; EXPLAIN SELECT * FROM ( SELECT key, randum123 -FROM (SELECT *, cast(rand() as double) AS randum123 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123 FROM `s/c` WHERE key = 100) a WHERE randum123 <=0.1)s WHERE s.randum123>0.1 LIMIT 20; EXPLAIN SELECT key,randum123, h4 -FROM (SELECT *, cast(rand() as double) AS randum123, hex(4) AS h4 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123, hex(4) AS h4 FROM `s/c` WHERE key = 100) a WHERE a.h4 <= 3; EXPLAIN SELECT key,randum123, v10 -FROM (SELECT *, cast(rand() as double) AS randum123, value*10 AS v10 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123, value*10 AS v10 FROM `s/c` WHERE key = 100) a WHERE a.v10 <= 200; set hive.ppd.remove.duplicatefilters=true; EXPLAIN SELECT key, randum123 -FROM (SELECT *, cast(rand() as double) AS randum123 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123 FROM `s/c` WHERE key = 100) a WHERE randum123 <=0.1; EXPLAIN SELECT * FROM ( SELECT key, randum123 -FROM (SELECT *, cast(rand() as double) AS randum123 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123 FROM `s/c` WHERE key = 100) a WHERE randum123 <=0.1)s WHERE s.randum123>0.1 LIMIT 20; EXPLAIN SELECT key,randum123, h4 -FROM (SELECT *, cast(rand() as double) AS randum123, hex(4) AS h4 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123, hex(4) AS h4 FROM `s/c` WHERE key = 100) a WHERE a.h4 <= 3; EXPLAIN SELECT key,randum123, v10 -FROM (SELECT *, cast(rand() as double) AS randum123, value*10 AS v10 FROM src WHERE key = 100) a +FROM (SELECT *, cast(rand() as double) AS randum123, value*10 AS v10 FROM `s/c` WHERE key = 100) a WHERE a.v10 <= 200; diff --git a/ql/src/test/queries/clientpositive/ppd_udtf.q b/ql/src/test/queries/clientpositive/ppd_udtf.q index d90532c..de1e276 100644 --- a/ql/src/test/queries/clientpositive/ppd_udtf.q +++ b/ql/src/test/queries/clientpositive/ppd_udtf.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain SELECT value from ( select explode(array(key, value)) as (value) from ( - select * FROM src WHERE key > 400 + select * FROM `s/c` WHERE key > 400 ) A ) B WHERE value < 450; SELECT value from ( select explode(array(key, value)) as (value) from ( - select * FROM src WHERE key > 400 + select * FROM `s/c` WHERE key > 400 ) A ) B WHERE value < 450; diff --git a/ql/src/test/queries/clientpositive/ppd_union.q b/ql/src/test/queries/clientpositive/ppd_union.q index 2cd876e..ab86105 100644 --- a/ql/src/test/queries/clientpositive/ppd_union.q +++ b/ql/src/test/queries/clientpositive/ppd_union.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=false; EXPLAIN FROM ( - FROM src select src.key, src.value WHERE src.key < '100' + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < '100' UNION ALL - FROM src SELECT src.* WHERE src.key > '150' + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > '150' ) unioned_query SELECT unioned_query.* WHERE key > '4' and value > 'val_4'; FROM ( - FROM src select src.key, src.value WHERE src.key < '100' + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < '100' UNION ALL - FROM src SELECT src.* WHERE src.key > '150' + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > '150' ) unioned_query SELECT unioned_query.* WHERE key > '4' and value > 'val_4'; @@ -22,17 +56,17 @@ set hive.ppd.remove.duplicatefilters=true; EXPLAIN FROM ( - FROM src select src.key, src.value WHERE src.key < '100' + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < '100' UNION ALL - FROM src SELECT src.* WHERE src.key > '150' + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > '150' ) unioned_query SELECT unioned_query.* WHERE key > '4' and value > 'val_4'; FROM ( - FROM src select src.key, src.value WHERE src.key < '100' + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < '100' UNION ALL - FROM src SELECT src.* WHERE src.key > '150' + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > '150' ) unioned_query SELECT unioned_query.* WHERE key > '4' and value > 'val_4'; diff --git a/ql/src/test/queries/clientpositive/ppd_union_view.q b/ql/src/test/queries/clientpositive/ppd_union_view.q index a7606c5..de602e2 100644 --- a/ql/src/test/queries/clientpositive/ppd_union_view.q +++ b/ql/src/test/queries/clientpositive/ppd_union_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- test predicate pushdown on a view with a union drop view v; @@ -5,26 +39,26 @@ drop view v; create table t1_new (key string, value string) partitioned by (ds string); insert overwrite table t1_new partition (ds = '2011-10-15') -select 'key1', 'value1' from src tablesample (1 rows); +select 'key1', 'value1' from `s/c` tablesample (1 rows); insert overwrite table t1_new partition (ds = '2011-10-16') -select 'key2', 'value2' from src tablesample (1 rows); +select 'key2', 'value2' from `s/c` tablesample (1 rows); create table t1_old (keymap string, value string) partitioned by (ds string); insert overwrite table t1_old partition (ds = '2011-10-13') -select 'keymap3', 'value3' from src tablesample (1 rows); +select 'keymap3', 'value3' from `s/c` tablesample (1 rows); insert overwrite table t1_old partition (ds = '2011-10-14') -select 'keymap4', 'value4' from src tablesample (1 rows); +select 'keymap4', 'value4' from `s/c` tablesample (1 rows); create table t1_mapping (key string, keymap string) partitioned by (ds string); insert overwrite table t1_mapping partition (ds = '2011-10-13') -select 'key3', 'keymap3' from src tablesample (1 rows); +select 'key3', 'keymap3' from `s/c` tablesample (1 rows); insert overwrite table t1_mapping partition (ds = '2011-10-14') -select 'key4', 'keymap4' from src tablesample (1 rows); +select 'key4', 'keymap4' from `s/c` tablesample (1 rows); create view t1 partitioned on (ds) as diff --git a/ql/src/test/queries/clientpositive/ppd_vc.q b/ql/src/test/queries/clientpositive/ppd_vc.q index b5efdb3..a4d65dd 100644 --- a/ql/src/test/queries/clientpositive/ppd_vc.q +++ b/ql/src/test/queries/clientpositive/ppd_vc.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --HIVE-3926 PPD on virtual column of partitioned table is not working explain extended -select * from srcpart where BLOCK__OFFSET__INSIDE__FILE<100; -select * from srcpart where BLOCK__OFFSET__INSIDE__FILE<100; +select * from `s/cpart` where BLOCK__OFFSET__INSIDE__FILE<100; +select * from `s/cpart` where BLOCK__OFFSET__INSIDE__FILE<100; explain extended -select b.* from src a join - (select *,BLOCK__OFFSET__INSIDE__FILE from srcpart where BLOCK__OFFSET__INSIDE__FILE<100) b +select b.* from `s/c` a join + (select *,BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where BLOCK__OFFSET__INSIDE__FILE<100) b on a.key=b.key AND b.BLOCK__OFFSET__INSIDE__FILE<50 order by ds,hr,BLOCK__OFFSET__INSIDE__FILE; -select b.* from src a join - (select *,BLOCK__OFFSET__INSIDE__FILE from srcpart where BLOCK__OFFSET__INSIDE__FILE<100) b +select b.* from `s/c` a join + (select *,BLOCK__OFFSET__INSIDE__FILE from `s/cpart` where BLOCK__OFFSET__INSIDE__FILE<100) b on a.key=b.key AND b.BLOCK__OFFSET__INSIDE__FILE<50 order by ds,hr,BLOCK__OFFSET__INSIDE__FILE; diff --git a/ql/src/test/queries/clientpositive/ppr_allchildsarenull.q b/ql/src/test/queries/clientpositive/ppr_allchildsarenull.q index 3cda01b..09e0e96 100644 --- a/ql/src/test/queries/clientpositive/ppr_allchildsarenull.q +++ b/ql/src/test/queries/clientpositive/ppr_allchildsarenull.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; EXPLAIN EXTENDED SELECT CAST(key AS INT) AS user_id, value - FROM srcpart + FROM `s/cpart` WHERE ds='2008-04-08' and ( CASE WHEN (value LIKE 'aaa%' OR value LIKE 'vvv%') THEN 1 @@ -12,7 +46,7 @@ SELECT SELECT CAST(key AS INT) AS user_id, value - FROM srcpart + FROM `s/cpart` WHERE ds='2008-04-08' and ( CASE WHEN (value LIKE 'aaa%' OR value LIKE 'vvv%') THEN 1 @@ -24,7 +58,7 @@ set hive.optimize.ppd=false; EXPLAIN EXTENDED SELECT CAST(key AS INT) AS user_id, value - FROM srcpart + FROM `s/cpart` WHERE ds='2008-04-08' and ( CASE WHEN (value LIKE 'aaa%' OR value LIKE 'vvv%') THEN 1 @@ -33,7 +67,7 @@ SELECT SELECT CAST(key AS INT) AS user_id, value - FROM srcpart + FROM `s/cpart` WHERE ds='2008-04-08' and ( CASE WHEN (value LIKE 'aaa%' OR value LIKE 'vvv%') THEN 1 diff --git a/ql/src/test/queries/clientpositive/ppr_pushdown.q b/ql/src/test/queries/clientpositive/ppr_pushdown.q index 440005f..eb88dbd 100644 --- a/ql/src/test/queries/clientpositive/ppr_pushdown.q +++ b/ql/src/test/queries/clientpositive/ppr_pushdown.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; create table ppr_test (key string) partitioned by (ds string); @@ -11,14 +45,14 @@ alter table ppr_test add partition (ds = '12:4'); alter table ppr_test add partition (ds = '12%4'); alter table ppr_test add partition (ds = '12*4'); -insert overwrite table ppr_test partition(ds = '1234') select * from (select '1234' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '1224') select * from (select '1224' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '1214') select * from (select '1214' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '12+4') select * from (select '12+4' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '12.4') select * from (select '12.4' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '12:4') select * from (select '12:4' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '12%4') select * from (select '12%4' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; -insert overwrite table ppr_test partition(ds = '12*4') select * from (select '12*4' from src tablesample (1 rows) union all select 'abcd' from src tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '1234') select * from (select '1234' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '1224') select * from (select '1224' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '1214') select * from (select '1214' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '12+4') select * from (select '12+4' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '12.4') select * from (select '12.4' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '12:4') select * from (select '12:4' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '12%4') select * from (select '12%4' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; +insert overwrite table ppr_test partition(ds = '12*4') select * from (select '12*4' from `s/c` tablesample (1 rows) union all select 'abcd' from `s/c` tablesample (1 rows)) s; select * from ppr_test where ds = '1234' order by key; diff --git a/ql/src/test/queries/clientpositive/ppr_pushdown2.q b/ql/src/test/queries/clientpositive/ppr_pushdown2.q index 8c60906..28a17e1 100644 --- a/ql/src/test/queries/clientpositive/ppr_pushdown2.q +++ b/ql/src/test/queries/clientpositive/ppr_pushdown2.q @@ -1,26 +1,60 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; create table ppr_test (key string) partitioned by (ds string); -insert overwrite table ppr_test partition(ds='2') select '2' from src tablesample (1 rows); -insert overwrite table ppr_test partition(ds='22') select '22' from src tablesample (1 rows); +insert overwrite table ppr_test partition(ds='2') select '2' from `s/c` tablesample (1 rows); +insert overwrite table ppr_test partition(ds='22') select '22' from `s/c` tablesample (1 rows); select * from ppr_test where ds = '2'; select * from ppr_test where ds = '22'; create table ppr_test2 (key string) partitioned by (ds string, s string); -insert overwrite table ppr_test2 partition(ds='1', s='2') select '1' from src tablesample (1 rows); -insert overwrite table ppr_test2 partition(ds='2', s='1') select '2' from src tablesample (1 rows); +insert overwrite table ppr_test2 partition(ds='1', s='2') select '1' from `s/c` tablesample (1 rows); +insert overwrite table ppr_test2 partition(ds='2', s='1') select '2' from `s/c` tablesample (1 rows); select * from ppr_test2 where s = '1'; select * from ppr_test2 where ds = '1'; create table ppr_test3 (key string) partitioned by (col string, ol string, l string); -insert overwrite table ppr_test3 partition(col='1', ol='2', l = '3') select '1' from src tablesample (1 rows); -insert overwrite table ppr_test3 partition(col='1', ol='1', l = '2') select '2' from src tablesample (1 rows); -insert overwrite table ppr_test3 partition(col='1', ol='2', l = '1') select '3' from src tablesample (1 rows); +insert overwrite table ppr_test3 partition(col='1', ol='2', l = '3') select '1' from `s/c` tablesample (1 rows); +insert overwrite table ppr_test3 partition(col='1', ol='1', l = '2') select '2' from `s/c` tablesample (1 rows); +insert overwrite table ppr_test3 partition(col='1', ol='2', l = '1') select '3' from `s/c` tablesample (1 rows); select * from ppr_test3 where l = '1'; select * from ppr_test3 where l = '2'; diff --git a/ql/src/test/queries/clientpositive/ppr_pushdown3.q b/ql/src/test/queries/clientpositive/ppr_pushdown3.q index 35c11be..5a2493b 100644 --- a/ql/src/test/queries/clientpositive/ppr_pushdown3.q +++ b/ql/src/test/queries/clientpositive/ppr_pushdown3.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.mode=nonstrict; -explain select * from srcpart where key < 10; -select * from srcpart where key < 10; +explain select * from `s/cpart` where key < 10; +select * from `s/cpart` where key < 10; -explain select * from srcpart; -select * from srcpart; +explain select * from `s/cpart`; +select * from `s/cpart`; -explain select key from srcpart; -select key from srcpart; +explain select key from `s/cpart`; +select key from `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/print_header.q b/ql/src/test/queries/clientpositive/print_header.q index 3ca0340..538e2b0 100644 --- a/ql/src/test/queries/clientpositive/print_header.q +++ b/ql/src/test/queries/clientpositive/print_header.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cli.print.header=true; SELECT src1.key as k1, src1.value as v1, src2.key as k2, src2.value as v2 FROM - (SELECT * FROM src WHERE src.key < 10) src1 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src1 JOIN - (SELECT * FROM src WHERE src.key < 10) src2 + (SELECT * FROM `s/c` WHERE `s/c`.key < 10) src2 SORT BY k1, v1, k2, v2 LIMIT 10; -SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key LIMIT 10; +SELECT `s/c`.key, sum(substr(`s/c`.value,5)) FROM `s/c` GROUP BY `s/c`.key LIMIT 10; use default; diff --git a/ql/src/test/queries/clientpositive/progress_1.q b/ql/src/test/queries/clientpositive/progress_1.q index 22ee926..e4788b7 100644 --- a/ql/src/test/queries/clientpositive/progress_1.q +++ b/ql/src/test/queries/clientpositive/progress_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.heartbeat.interval=5; diff --git a/ql/src/test/queries/clientpositive/ptf.q b/ql/src/test/queries/clientpositive/ptf.q index b5b271b..56b1abb 100644 --- a/ql/src/test/queries/clientpositive/ptf.q +++ b/ql/src/test/queries/clientpositive/ptf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/ptf_decimal.q b/ql/src/test/queries/clientpositive/ptf_decimal.q index 94885e3..591b935 100644 --- a/ql/src/test/queries/clientpositive/ptf_decimal.q +++ b/ql/src/test/queries/clientpositive/ptf_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- 1. aggregate functions with decimal type diff --git a/ql/src/test/queries/clientpositive/ptf_general_queries.q b/ql/src/test/queries/clientpositive/ptf_general_queries.q index 9942063..54045d4 100644 --- a/ql/src/test/queries/clientpositive/ptf_general_queries.q +++ b/ql/src/test/queries/clientpositive/ptf_general_queries.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- 1. testNoPTFNoWindowing diff --git a/ql/src/test/queries/clientpositive/ptf_matchpath.q b/ql/src/test/queries/clientpositive/ptf_matchpath.q index 7b67a34..5e4fe88 100644 --- a/ql/src/test/queries/clientpositive/ptf_matchpath.q +++ b/ql/src/test/queries/clientpositive/ptf_matchpath.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; DROP TABLE flights_tiny; diff --git a/ql/src/test/queries/clientpositive/ptf_rcfile.q b/ql/src/test/queries/clientpositive/ptf_rcfile.q index 501d2a4..154f692 100644 --- a/ql/src/test/queries/clientpositive/ptf_rcfile.q +++ b/ql/src/test/queries/clientpositive/ptf_rcfile.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE part_rc; CREATE TABLE part_rc( diff --git a/ql/src/test/queries/clientpositive/ptf_register_tblfn.q b/ql/src/test/queries/clientpositive/ptf_register_tblfn.q index 374cc43..650ab9a 100644 --- a/ql/src/test/queries/clientpositive/ptf_register_tblfn.q +++ b/ql/src/test/queries/clientpositive/ptf_register_tblfn.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE flights_tiny; create table flights_tiny ( diff --git a/ql/src/test/queries/clientpositive/ptf_seqfile.q b/ql/src/test/queries/clientpositive/ptf_seqfile.q index ac55714..3a3bf63 100644 --- a/ql/src/test/queries/clientpositive/ptf_seqfile.q +++ b/ql/src/test/queries/clientpositive/ptf_seqfile.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE part_seq; CREATE TABLE part_seq( diff --git a/ql/src/test/queries/clientpositive/ptf_streaming.q b/ql/src/test/queries/clientpositive/ptf_streaming.q index aa70a5c..6af6506 100644 --- a/ql/src/test/queries/clientpositive/ptf_streaming.q +++ b/ql/src/test/queries/clientpositive/ptf_streaming.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/ptfgroupbyjoin.q b/ql/src/test/queries/clientpositive/ptfgroupbyjoin.q index 61d034e..e842573 100644 --- a/ql/src/test/queries/clientpositive/ptfgroupbyjoin.q +++ b/ql/src/test/queries/clientpositive/ptfgroupbyjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tlb1 (id int, fkey int, val string); create table tlb2 (fid int, name string); insert into table tlb1 values(100,1,'abc'); diff --git a/ql/src/test/queries/clientpositive/push_or.q b/ql/src/test/queries/clientpositive/push_or.q index c9b6cea..798c6f9 100644 --- a/ql/src/test/queries/clientpositive/push_or.q +++ b/ql/src/test/queries/clientpositive/push_or.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table push_or; create table push_or (key int, value string) partitioned by (ds string); -insert overwrite table push_or partition (ds='2000-04-08') select * from src where key < 20 order by key; -insert overwrite table push_or partition (ds='2000-04-09') select * from src where key < 20 order by key; +insert overwrite table push_or partition (ds='2000-04-08') select * from `s/c` where key < 20 order by key; +insert overwrite table push_or partition (ds='2000-04-09') select * from `s/c` where key < 20 order by key; explain extended select key, value, ds from push_or where ds='2000-04-09' or key=5 order by key, ds; select key, value, ds from push_or where ds='2000-04-09' or key=5 order by key, ds; diff --git a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx.q b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx.q index 240e74e..3d1811d 100644 --- a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx.q +++ b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.stats.autogather=true; set hive.cbo.enable=false; @@ -140,10 +174,10 @@ EXPLAIN select * FROM (select DISTINCT key, value FROM tbl) v1 WHERE v1.value = DROP TABLE tbl; CREATE TABLE tblpart (key int, value string) PARTITIONED BY (ds string, hr int); -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 12; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 11; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 12; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 11; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 12; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 11; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 12; CREATE INDEX tbl_part_index ON TABLE tblpart(key) AS 'org.apache.hadoop.hive.ql.index.AggregateIndexHandler' WITH DEFERRED REBUILD IDXPROPERTIES("AGGREGATES"="count(key)"); diff --git a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_1.q b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_1.q index 82e67ab..7ad80b9 100644 --- a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_1.q +++ b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.stats.autogather=true; set hive.cbo.enable=true; @@ -140,10 +174,10 @@ EXPLAIN select * FROM (select DISTINCT key, value FROM tbl) v1 WHERE v1.value = DROP TABLE tbl; CREATE TABLE tblpart (key int, value string) PARTITIONED BY (ds string, hr int); -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 11; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-08' AND hr = 12; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 11; -INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM srcpart WHERE ds = '2008-04-09' AND hr = 12; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 11; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-08', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-08' AND hr = 12; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=11) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 11; +INSERT OVERWRITE TABLE tblpart PARTITION (ds='2008-04-09', hr=12) SELECT key, value FROM `s/cpart` WHERE ds = '2008-04-09' AND hr = 12; CREATE INDEX tbl_part_index ON TABLE tblpart(key) AS 'org.apache.hadoop.hive.ql.index.AggregateIndexHandler' WITH DEFERRED REBUILD IDXPROPERTIES("AGGREGATES"="count(key)"); diff --git a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_2.q b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_2.q index cfc5b0c..e3005b6 100644 --- a/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_2.q +++ b/ql/src/test/queries/clientpositive/ql_rewrite_gbtoidx_cbo_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; set hive.stats.autogather=true; set hive.cbo.enable=true; @@ -237,9 +271,9 @@ group by L_ORDERKEY)tabA group by keysum; -DROP INDEX IF EXISTS src_key_idx on src; -CREATE INDEX src_key_idx ON TABLE src(key) AS 'org.apache.hadoop.hive.ql.index.AggregateIndexHandler' WITH DEFERRED REBUILD IDXPROPERTIES("AGGREGATES"="count(key)"); -ALTER INDEX src_key_idx ON src REBUILD; +DROP INDEX IF EXISTS src_key_idx on `s/c`; +CREATE INDEX src_key_idx ON TABLE `s/c`(key) AS 'org.apache.hadoop.hive.ql.index.AggregateIndexHandler' WITH DEFERRED REBUILD IDXPROPERTIES("AGGREGATES"="count(key)"); +ALTER INDEX src_key_idx ON `s/c` REBUILD; explain select tabA.a, tabA.b, tabB.a, tabB.b @@ -250,7 +284,7 @@ where L_ORDERKEY < 7 group by L_ORDERKEY) tabA join (select key as a, count(key) as b -from src +from `s/c` group by key ) tabB on (tabA.b=tabB.b); @@ -263,7 +297,7 @@ where L_ORDERKEY < 7 group by L_ORDERKEY) tabA join (select key as a, count(key) as b -from src +from `s/c` group by key ) tabB on (tabA.b=tabB.b); @@ -278,7 +312,7 @@ where L_ORDERKEY < 7 group by L_ORDERKEY) tabA join (select key as a, count(key) as b -from src +from `s/c` group by key ) tabB on (tabA.b=tabB.b and tabB.a < '2'); @@ -291,7 +325,7 @@ where L_ORDERKEY < 7 group by L_ORDERKEY) tabA join (select key as a, count(key) as b -from src +from `s/c` group by key ) tabB on (tabA.b=tabB.b and tabB.a < '2'); diff --git a/ql/src/test/queries/clientpositive/query_properties.q b/ql/src/test/queries/clientpositive/query_properties.q index 78ac32d..9a8e70d 100644 --- a/ql/src/test/queries/clientpositive/query_properties.q +++ b/ql/src/test/queries/clientpositive/query_properties.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=false; set hive.exec.post.hooks = org.apache.hadoop.hive.ql.hooks.CheckQueryPropertiesHook; -select * from src a join src b on a.key = b.key limit 0; -select * from src group by src.key, src.value limit 0; -select * from src order by src.key limit 0; -select * from src sort by src.key limit 0; -select a.key, sum(b.value) from src a join src b on a.key = b.key group by a.key limit 0; -select transform(*) using 'cat' from src limit 0; -select * from src distribute by src.key limit 0; -select * from src cluster by src.key limit 0; - -select key, sum(value) from (select a.key as key, b.value as value from src a join src b on a.key = b.key) c group by key limit 0; -select * from src a join src b on a.key = b.key order by a.key limit 0; -select * from src a join src b on a.key = b.key distribute by a.key sort by a.key, b.value limit 0; +select * from `s/c` a join `s/c` b on a.key = b.key limit 0; +select * from `s/c` group by `s/c`.key, `s/c`.value limit 0; +select * from `s/c` order by `s/c`.key limit 0; +select * from `s/c` sort by `s/c`.key limit 0; +select a.key, sum(b.value) from `s/c` a join `s/c` b on a.key = b.key group by a.key limit 0; +select transform(*) using 'cat' from `s/c` limit 0; +select * from `s/c` distribute by `s/c`.key limit 0; +select * from `s/c` cluster by `s/c`.key limit 0; + +select key, sum(value) from (select a.key as key, b.value as value from `s/c` a join `s/c` b on a.key = b.key) c group by key limit 0; +select * from `s/c` a join `s/c` b on a.key = b.key order by a.key limit 0; +select * from `s/c` a join `s/c` b on a.key = b.key distribute by a.key sort by a.key, b.value limit 0; diff --git a/ql/src/test/queries/clientpositive/query_result_fileformat.q b/ql/src/test/queries/clientpositive/query_result_fileformat.q index 3b87e4d..78a82cf 100644 --- a/ql/src/test/queries/clientpositive/query_result_fileformat.q +++ b/ql/src/test/queries/clientpositive/query_result_fileformat.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table nzhang_test1 stored as sequencefile as select 'key1' as key, 'value 1 -http://asdf' value from src limit 1; +http://asdf' value from `s/c` limit 1; select * from nzhang_test1; select count(*) from nzhang_test1; diff --git a/ql/src/test/queries/clientpositive/query_with_semi.q b/ql/src/test/queries/clientpositive/query_with_semi.q index e0f90d5..a5f2d04 100644 --- a/ql/src/test/queries/clientpositive/query_with_semi.q +++ b/ql/src/test/queries/clientpositive/query_with_semi.q @@ -1,6 +1,40 @@ -from src +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +from `s/c` select transform('aa\;') using 'cat' as a limit 1; -from src -select transform('bb') using 'cat' as b limit 1; from src +from `s/c` +select transform('bb') using 'cat' as b limit 1; from `s/c` select transform('cc') using 'cat' as c limit 1; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/quote1.q b/ql/src/test/queries/clientpositive/quote1.q index f968132..d813736 100644 --- a/ql/src/test/queries/clientpositive/quote1.q +++ b/ql/src/test/queries/clientpositive/quote1.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(`location` INT, `type` STRING) PARTITIONED BY(`table` STRING) STORED AS TEXTFILE; EXPLAIN -FROM src -INSERT OVERWRITE TABLE dest1 PARTITION(`table`='2008-04-08') SELECT src.key as `partition`, src.value as `from` WHERE src.key >= 200 and src.key < 300; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 PARTITION(`table`='2008-04-08') SELECT `s/c`.key as `partition`, `s/c`.value as `from` WHERE `s/c`.key >= 200 and `s/c`.key < 300; EXPLAIN SELECT `int`.`location`, `int`.`type`, `int`.`table` FROM dest1 `int` WHERE `int`.`table` = '2008-04-08'; -FROM src -INSERT OVERWRITE TABLE dest1 PARTITION(`table`='2008-04-08') SELECT src.key as `partition`, src.value as `from` WHERE src.key >= 200 and src.key < 300; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 PARTITION(`table`='2008-04-08') SELECT `s/c`.key as `partition`, `s/c`.value as `from` WHERE `s/c`.key >= 200 and `s/c`.key < 300; SELECT `int`.`location`, `int`.`type`, `int`.`table` FROM dest1 `int` WHERE `int`.`table` = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/quote2.q b/ql/src/test/queries/clientpositive/quote2.q index 17cbfca..d817932 100644 --- a/ql/src/test/queries/clientpositive/quote2.q +++ b/ql/src/test/queries/clientpositive/quote2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN @@ -13,7 +47,7 @@ SELECT 'mysql_%\\_\%', 'mysql\\\_\\\\\%', "awk '{print NR\"\\t\"$0}'", 'tab\ttab', "tab\ttab" -FROM src +FROM `s/c` LIMIT 1; SELECT @@ -28,5 +62,5 @@ SELECT 'mysql_%\\_\%', 'mysql\\\_\\\\\%', "awk '{print NR\"\\t\"$0}'", 'tab\ttab', "tab\ttab" -FROM src +FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/quotedid_alter.q b/ql/src/test/queries/clientpositive/quotedid_alter.q index a34a25a..eaf6650 100644 --- a/ql/src/test/queries/clientpositive/quotedid_alter.q +++ b/ql/src/test/queries/clientpositive/quotedid_alter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=column; @@ -11,7 +45,7 @@ clustered by (`!@#$%^&*()_q`) sorted by (`!@#$%^&*()_q`) into 2 buckets -- alter partition create table src_p3(`x+1` string, `y&y` string) partitioned by (`!@#$%^&*()_q` string); -insert overwrite table src_p3 partition(`!@#$%^&*()_q`='a') select * from src; +insert overwrite table src_p3 partition(`!@#$%^&*()_q`='a') select * from `s/c`; show partitions src_p3; alter table src_p3 add if not exists partition(`!@#$%^&*()_q`='b'); diff --git a/ql/src/test/queries/clientpositive/quotedid_basic.q b/ql/src/test/queries/clientpositive/quotedid_basic.q index 680868e..64df2d9 100644 --- a/ql/src/test/queries/clientpositive/quotedid_basic.q +++ b/ql/src/test/queries/clientpositive/quotedid_basic.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=column; @@ -19,7 +53,7 @@ from t1 where `!@#$%^&*()_q` = '1' group by `x+1`, `y&Y`, `!@#$%^&*()_q` having -- escaped back ticks create table t4(`x+1``` string, `y&y` string); describe t4; -insert into table t4 select * from src; +insert into table t4 select * from `s/c`; select `x+1```, `y&y`, rank() over(partition by `x+1``` order by `y&y`) from t4 where `x+1``` = '10' group by `x+1```, `y&y` having `x+1``` = '10'; diff --git a/ql/src/test/queries/clientpositive/quotedid_partition.q b/ql/src/test/queries/clientpositive/quotedid_partition.q index e9416ae..d59a1a9 100644 --- a/ql/src/test/queries/clientpositive/quotedid_partition.q +++ b/ql/src/test/queries/clientpositive/quotedid_partition.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=column; create table src_p(`x+1` string, `y&y` string) partitioned by (`!@#$%^&*()_q` string); -insert overwrite table src_p partition(`!@#$%^&*()_q`='a') select * from src; +insert overwrite table src_p partition(`!@#$%^&*()_q`='a') select * from `s/c`; show partitions src_p; @@ -18,7 +52,7 @@ set hive.exec.dynamic.partition.mode=nonstrict create table src_p2(`x+1` string) partitioned by (`!@#$%^&*()_q` string); insert overwrite table src_p2 partition(`!@#$%^&*()_q`) -select key, value as `!@#$%^&*()_q` from src where key < '200' +select key, value as `!@#$%^&*()_q` from `s/c` where key < '200' ; show partitions src_p2; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/quotedid_skew.q b/ql/src/test/queries/clientpositive/quotedid_skew.q index 7088ea1..b129871 100644 --- a/ql/src/test/queries/clientpositive/quotedid_skew.q +++ b/ql/src/test/queries/clientpositive/quotedid_skew.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=column; diff --git a/ql/src/test/queries/clientpositive/quotedid_smb.q b/ql/src/test/queries/clientpositive/quotedid_smb.q index 38d1b99..bc1bfee 100644 --- a/ql/src/test/queries/clientpositive/quotedid_smb.q +++ b/ql/src/test/queries/clientpositive/quotedid_smb.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=column; @@ -9,7 +43,7 @@ clustered by (`!@#$%^&*()_q`) sorted by (`!@#$%^&*()_q`) into 2 buckets ; insert overwrite table src_b -select * from src +select * from `s/c` ; create table src_b2(`x+1` string, `!@#$%^&*()_q` string) @@ -17,7 +51,7 @@ clustered by (`!@#$%^&*()_q`) sorted by (`!@#$%^&*()_q`) into 2 buckets ; insert overwrite table src_b2 -select * from src +select * from `s/c` ; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/quotedid_tblproperty.q b/ql/src/test/queries/clientpositive/quotedid_tblproperty.q index d64e9cb..3cb98f0 100644 --- a/ql/src/test/queries/clientpositive/quotedid_tblproperty.q +++ b/ql/src/test/queries/clientpositive/quotedid_tblproperty.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + ADD JAR ${system:maven.local.repository}/org/apache/hive/hive-it-test-serde/${system:hive.version}/hive-it-test-serde-${system:hive.version}.jar; CREATE TABLE xyz(KEY STRING, VALUE STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.TestSerDe' diff --git a/ql/src/test/queries/clientpositive/rand_partitionpruner1.q b/ql/src/test/queries/clientpositive/rand_partitionpruner1.q index 3eeb5e7..f63bb46 100644 --- a/ql/src/test/queries/clientpositive/rand_partitionpruner1.q +++ b/ql/src/test/queries/clientpositive/rand_partitionpruner1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- scanning un-partitioned data -explain extended select * from src where rand(1) < 0.1; -select * from src where rand(1) < 0.1; +explain extended select * from `s/c` where rand(1) < 0.1; +select * from `s/c` where rand(1) < 0.1; diff --git a/ql/src/test/queries/clientpositive/rand_partitionpruner2.q b/ql/src/test/queries/clientpositive/rand_partitionpruner2.q index e2f280e..e708884 100644 --- a/ql/src/test/queries/clientpositive/rand_partitionpruner2.q +++ b/ql/src/test/queries/clientpositive/rand_partitionpruner2.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- scanning partitioned data create table tmptable(key string, value string, hr string, ds string); explain extended insert overwrite table tmptable -select a.* from srcpart a where rand(1) < 0.1 and a.ds = '2008-04-08'; +select a.* from `s/cpart` a where rand(1) < 0.1 and a.ds = '2008-04-08'; insert overwrite table tmptable -select a.* from srcpart a where rand(1) < 0.1 and a.ds = '2008-04-08'; +select a.* from `s/cpart` a where rand(1) < 0.1 and a.ds = '2008-04-08'; select * from tmptable x sort by x.key,x.value,x.ds,x.hr; diff --git a/ql/src/test/queries/clientpositive/rand_partitionpruner3.q b/ql/src/test/queries/clientpositive/rand_partitionpruner3.q index 9f4aaac..4ba1243 100644 --- a/ql/src/test/queries/clientpositive/rand_partitionpruner3.q +++ b/ql/src/test/queries/clientpositive/rand_partitionpruner3.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- complex predicates in the where clause -explain extended select a.* from srcpart a where rand(1) < 0.1 and a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; -select a.* from srcpart a where rand(1) < 0.1 and a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; +explain extended select a.* from `s/cpart` a where rand(1) < 0.1 and a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; +select a.* from `s/cpart` a where rand(1) < 0.1 and a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; -- without rand for comparison -explain extended select a.* from srcpart a where a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; -select a.* from srcpart a where a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; +explain extended select a.* from `s/cpart` a where a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; +select a.* from `s/cpart` a where a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2'; diff --git a/ql/src/test/queries/clientpositive/rcfile_bigdata.q b/ql/src/test/queries/clientpositive/rcfile_bigdata.q index df460c8..6216e36 100644 --- a/ql/src/test/queries/clientpositive/rcfile_bigdata.q +++ b/ql/src/test/queries/clientpositive/rcfile_bigdata.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr.hash.percentmemory = 0.3; set hive.mapred.local.mem = 256; @@ -10,7 +44,7 @@ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'; -FROM (FROM src MAP src.key,src.value USING 'python dumpdata_script.py' AS (key,value) WHERE src.key = 10) subq +FROM (FROM `s/c` MAP `s/c`.key,`s/c`.value USING 'python dumpdata_script.py' AS (key,value) WHERE `s/c`.key = 10) subq INSERT OVERWRITE TABLE columnTable_Bigdata SELECT subq.key, subq.value; describe columnTable_Bigdata; diff --git a/ql/src/test/queries/clientpositive/rcfile_columnar.q b/ql/src/test/queries/clientpositive/rcfile_columnar.q index 0178e53..b0d1de1 100644 --- a/ql/src/test/queries/clientpositive/rcfile_columnar.q +++ b/ql/src/test/queries/clientpositive/rcfile_columnar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE table columnTable (key STRING, value STRING) ROW FORMAT SERDE @@ -6,8 +40,8 @@ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'; -FROM src -INSERT OVERWRITE TABLE columnTable SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE columnTable SELECT `s/c`.key, `s/c`.value LIMIT 10; describe columnTable; SELECT columnTable.* FROM columnTable ORDER BY key ASC, value ASC; diff --git a/ql/src/test/queries/clientpositive/rcfile_createas1.q b/ql/src/test/queries/clientpositive/rcfile_createas1.q index f362037..d6faf03 100644 --- a/ql/src/test/queries/clientpositive/rcfile_createas1.q +++ b/ql/src/test/queries/clientpositive/rcfile_createas1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.rcfile.block.level=true; set mapred.max.split.size=100; set mapred.min.split.size=1; @@ -8,9 +42,9 @@ DROP TABLE rcfile_createas1b; CREATE TABLE rcfile_createas1a (key INT, value STRING) PARTITIONED BY (ds string); INSERT OVERWRITE TABLE rcfile_createas1a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE rcfile_createas1a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; EXPLAIN CREATE TABLE rcfile_createas1b diff --git a/ql/src/test/queries/clientpositive/rcfile_default_format.q b/ql/src/test/queries/clientpositive/rcfile_default_format.q index e61292e..c0ea3f4 100644 --- a/ql/src/test/queries/clientpositive/rcfile_default_format.q +++ b/ql/src/test/queries/clientpositive/rcfile_default_format.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.default.fileformat = RCFile; CREATE TABLE rcfile_default_format (key STRING); DESCRIBE FORMATTED rcfile_default_format; -CREATE TABLE rcfile_default_format_ctas AS SELECT key,value FROM src; +CREATE TABLE rcfile_default_format_ctas AS SELECT key,value FROM `s/c`; DESCRIBE FORMATTED rcfile_default_format_ctas; CREATE TABLE rcfile_default_format_txtfile (key STRING) STORED AS TEXTFILE; -INSERT OVERWRITE TABLE rcfile_default_format_txtfile SELECT key from src; +INSERT OVERWRITE TABLE rcfile_default_format_txtfile SELECT key from `s/c`; DESCRIBE FORMATTED rcfile_default_format_txtfile; SET hive.default.fileformat = TextFile; diff --git a/ql/src/test/queries/clientpositive/rcfile_lazydecompress.q b/ql/src/test/queries/clientpositive/rcfile_lazydecompress.q index 7f55d10..780336f 100644 --- a/ql/src/test/queries/clientpositive/rcfile_lazydecompress.q +++ b/ql/src/test/queries/clientpositive/rcfile_lazydecompress.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE table rcfileTableLazyDecompress (key STRING, value STRING) STORED AS RCFile; -FROM src -INSERT OVERWRITE TABLE rcfileTableLazyDecompress SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE rcfileTableLazyDecompress SELECT `s/c`.key, `s/c`.value LIMIT 10; SELECT key, value FROM rcfileTableLazyDecompress where key > 238 ORDER BY key ASC, value ASC; @@ -13,8 +47,8 @@ SELECT key, count(1) FROM rcfileTableLazyDecompress where key > 238 group by key set mapred.output.compress=true; set hive.exec.compress.output=true; -FROM src -INSERT OVERWRITE TABLE rcfileTableLazyDecompress SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE rcfileTableLazyDecompress SELECT `s/c`.key, `s/c`.value LIMIT 10; SELECT key, value FROM rcfileTableLazyDecompress where key > 238 ORDER BY key ASC, value ASC; diff --git a/ql/src/test/queries/clientpositive/rcfile_merge1.q b/ql/src/test/queries/clientpositive/rcfile_merge1.q index 1f6f1bd..4d0b56f 100644 --- a/ql/src/test/queries/clientpositive/rcfile_merge1.q +++ b/ql/src/test/queries/clientpositive/rcfile_merge1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.rcfile.block.level=false; set hive.exec.dynamic.partition=true; set mapred.max.split.size=100; @@ -15,19 +49,19 @@ CREATE TABLE rcfile_merge1b (key INT, value STRING) EXPLAIN INSERT OVERWRITE TABLE rcfile_merge1 PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 100) as part - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE rcfile_merge1 PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 100) as part - FROM src; + FROM `s/c`; set hive.merge.rcfile.block.level=true; EXPLAIN INSERT OVERWRITE TABLE rcfile_merge1b PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 100) as part - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE rcfile_merge1b PARTITION (ds='1', part) SELECT key, value, PMOD(HASH(key), 100) as part - FROM src; + FROM `s/c`; -- Verify SELECT SUM(HASH(c)) FROM ( diff --git a/ql/src/test/queries/clientpositive/rcfile_merge2.q b/ql/src/test/queries/clientpositive/rcfile_merge2.q index 215d5eb..d0cdbdd 100644 --- a/ql/src/test/queries/clientpositive/rcfile_merge2.q +++ b/ql/src/test/queries/clientpositive/rcfile_merge2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.rcfile.block.level=true; set hive.exec.dynamic.partition=true; set mapred.max.split.size=100; @@ -12,11 +46,11 @@ CREATE TABLE rcfile_merge2a (key INT, value STRING) EXPLAIN INSERT OVERWRITE TABLE rcfile_merge2a PARTITION (one='1', two, three) SELECT key, value, PMOD(HASH(key), 10) as two, PMOD(HASH(value), 10) as three - FROM src; + FROM `s/c`; INSERT OVERWRITE TABLE rcfile_merge2a PARTITION (one='1', two, three) SELECT key, value, PMOD(HASH(key), 10) as two, PMOD(HASH(value), 10) as three - FROM src; + FROM `s/c`; SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(*) USING 'tr \t _' AS (c) @@ -25,7 +59,7 @@ SELECT SUM(HASH(c)) FROM ( SELECT SUM(HASH(c)) FROM ( SELECT TRANSFORM(key, value, '1', PMOD(HASH(key), 10), PMOD(HASH(value), 10)) USING 'tr \t _' AS (c) - FROM src + FROM `s/c` ) t; DROP TABLE rcfile_merge2a; diff --git a/ql/src/test/queries/clientpositive/rcfile_merge3.q b/ql/src/test/queries/clientpositive/rcfile_merge3.q index 39fbd25..cd5656f 100644 --- a/ql/src/test/queries/clientpositive/rcfile_merge3.q +++ b/ql/src/test/queries/clientpositive/rcfile_merge3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.rcfile.block.level=true; set mapred.max.split.size=100; set mapred.min.split.size=1; @@ -10,9 +44,9 @@ CREATE TABLE rcfile_merge3a (key int, value string) CREATE TABLE rcfile_merge3b (key int, value string) STORED AS RCFILE; INSERT OVERWRITE TABLE rcfile_merge3a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE rcfile_merge3a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; EXPLAIN INSERT OVERWRITE TABLE rcfile_merge3b SELECT key, value FROM rcfile_merge3a; diff --git a/ql/src/test/queries/clientpositive/rcfile_merge4.q b/ql/src/test/queries/clientpositive/rcfile_merge4.q index fe6df28..e484882 100644 --- a/ql/src/test/queries/clientpositive/rcfile_merge4.q +++ b/ql/src/test/queries/clientpositive/rcfile_merge4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.merge.rcfile.block.level=true; set mapred.max.split.size=100; set mapred.min.split.size=1; @@ -10,9 +44,9 @@ CREATE TABLE rcfile_merge3a (key int, value string) CREATE TABLE rcfile_merge3b (key int, value string) STORED AS TEXTFILE; INSERT OVERWRITE TABLE rcfile_merge3a PARTITION (ds='1') - SELECT * FROM src; + SELECT * FROM `s/c`; INSERT OVERWRITE TABLE rcfile_merge3a PARTITION (ds='2') - SELECT * FROM src; + SELECT * FROM `s/c`; EXPLAIN INSERT OVERWRITE TABLE rcfile_merge3b SELECT key, value FROM rcfile_merge3a; diff --git a/ql/src/test/queries/clientpositive/rcfile_null_value.q b/ql/src/test/queries/clientpositive/rcfile_null_value.q index 2e4c929..b3f82d0 100644 --- a/ql/src/test/queries/clientpositive/rcfile_null_value.q +++ b/ql/src/test/queries/clientpositive/rcfile_null_value.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE src1_rc(key STRING, value STRING) STORED AS RCFILE; INSERT OVERWRITE TABLE src1_rc SELECT * FROM src1; SELECT * FROM src1_rc; @@ -9,11 +43,11 @@ EXPLAIN FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 @@ -23,11 +57,11 @@ INSERT OVERWRITE TABLE dest1_rc SELECT c.c1, c.c2, c.c3, c.c4; FROM ( FROM ( - FROM src src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 + FROM `s/c` src1 SELECT src1.key AS c1, src1.value AS c2 WHERE src1.key > 10 and src1.key < 20 ) a RIGHT OUTER JOIN ( - FROM src src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 + FROM `s/c` src2 SELECT src2.key AS c3, src2.value AS c4 WHERE src2.key > 15 and src2.key < 25 ) b ON (a.c1 = b.c3) SELECT a.c1 AS c1, a.c2 AS c2, b.c3 AS c3, b.c4 AS c4 diff --git a/ql/src/test/queries/clientpositive/rcfile_toleratecorruptions.q b/ql/src/test/queries/clientpositive/rcfile_toleratecorruptions.q index 077a52d..b1681a2 100644 --- a/ql/src/test/queries/clientpositive/rcfile_toleratecorruptions.q +++ b/ql/src/test/queries/clientpositive/rcfile_toleratecorruptions.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE test_src(key int, value string) stored as RCFILE; set hive.io.rcfile.record.interval=5; set hive.io.rcfile.record.buffer.size=100; set hive.exec.compress.output=true; -INSERT OVERWRITE table test_src SELECT * FROM src; +INSERT OVERWRITE table test_src SELECT * FROM `s/c`; set hive.io.rcfile.tolerate.corruptions=true; SELECT key, value FROM test_src order by key; diff --git a/ql/src/test/queries/clientpositive/rcfile_union.q b/ql/src/test/queries/clientpositive/rcfile_union.q index fc8c750..197ac90 100644 --- a/ql/src/test/queries/clientpositive/rcfile_union.q +++ b/ql/src/test/queries/clientpositive/rcfile_union.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE table rcfile_unionTable (b STRING, c STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe' STORED AS RCFILE; -FROM src -INSERT OVERWRITE TABLE rcfile_unionTable SELECT src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE rcfile_unionTable SELECT `s/c`.key, `s/c`.value LIMIT 10; SELECT * FROM ( SELECT b AS cola FROM rcfile_unionTable diff --git a/ql/src/test/queries/clientpositive/recursive_dir.q b/ql/src/test/queries/clientpositive/recursive_dir.q index 709c6eb..e532d38 100644 --- a/ql/src/test/queries/clientpositive/recursive_dir.q +++ b/ql/src/test/queries/clientpositive/recursive_dir.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) CREATE TABLE fact_daily(x int) PARTITIONED BY (ds STRING); @@ -5,7 +39,7 @@ CREATE TABLE fact_tz(x int) PARTITIONED BY (ds STRING, hr STRING) LOCATION 'pfile:${system:test.tmp.dir}/fact_tz'; INSERT OVERWRITE TABLE fact_tz PARTITION (ds='1', hr='1') -SELECT key+11 FROM src WHERE key=484; +SELECT key+11 FROM `s/c` WHERE key=484; ALTER TABLE fact_daily SET TBLPROPERTIES('EXTERNAL'='TRUE'); ALTER TABLE fact_daily ADD PARTITION (ds='1') diff --git a/ql/src/test/queries/clientpositive/reduce_deduplicate.q b/ql/src/test/queries/clientpositive/reduce_deduplicate.q index 2e26adc..48b66bd 100644 --- a/ql/src/test/queries/clientpositive/reduce_deduplicate.q +++ b/ql/src/test/queries/clientpositive/reduce_deduplicate.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.enforce.bucketing = true; set hive.exec.reducers.max = 1; @@ -9,13 +43,13 @@ set hive.optimize.reducededuplication.min.reducer = 1; CREATE TABLE bucket5_1(key string, value string) CLUSTERED BY (key) INTO 2 BUCKETS; explain extended insert overwrite table bucket5_1 -select * from src cluster by key; +select * from `s/c` cluster by key; insert overwrite table bucket5_1 -select * from src cluster by key; +select * from `s/c` cluster by key; select sum(hash(key)),sum(hash(value)) from bucket5_1; -select sum(hash(key)),sum(hash(value)) from src; +select sum(hash(key)),sum(hash(value)) from `s/c`; create table complex_tbl_1(aid string, bid string, t int, ctime string, etime bigint, l string, et string) partitioned by (ds string); diff --git a/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_gby.q b/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_gby.q index e28ed9f..b118c93 100644 --- a/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_gby.q +++ b/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_gby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t1( key_int1 int, key_int2 int, key_string1 string, key_string2 string); set hive.optimize.reducededuplication=false; diff --git a/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_join.q b/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_join.q index ff09754..478cbb4 100644 --- a/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_join.q +++ b/ql/src/test/queries/clientpositive/reduce_deduplicate_exclude_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.reducededuplication=true; set hive.auto.convert.join=true; -explain select * from (select * from src cluster by key) a join src b on a.key = b.key limit 1; +explain select * from (select * from `s/c` cluster by key) a join `s/c` b on a.key = b.key limit 1; diff --git a/ql/src/test/queries/clientpositive/reduce_deduplicate_extended.q b/ql/src/test/queries/clientpositive/reduce_deduplicate_extended.q index 3d7df11..33cf393 100644 --- a/ql/src/test/queries/clientpositive/reduce_deduplicate_extended.q +++ b/ql/src/test/queries/clientpositive/reduce_deduplicate_extended.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.reducededuplication=true; set hive.optimize.reducededuplication.min.reducer=1; set hive.map.aggr=true; @@ -7,49 +41,49 @@ set hive.map.aggr=true; -- hive.optimize.reducededuplication.min.reducer : number of reducer of deduped RS should be this at least -- RS-mGBY-RS-rGBY -explain select key, sum(key) from (select * from src distribute by key sort by key, value) Q1 group by key; -explain select key, sum(key), lower(value) from (select * from src order by key) Q1 group by key, lower(value); -explain select key, sum(key), (X + 1) from (select key, (value + 1) as X from src order by key) Q1 group by key, (X + 1); +explain select key, sum(key) from (select * from `s/c` distribute by key sort by key, value) Q1 group by key; +explain select key, sum(key), lower(value) from (select * from `s/c` order by key) Q1 group by key, lower(value); +explain select key, sum(key), (X + 1) from (select key, (value + 1) as X from `s/c` order by key) Q1 group by key, (X + 1); -- mGBY-RS-rGBY-RS -explain select key, sum(key) as value from src group by key order by key; +explain select key, sum(key) as value from `s/c` group by key order by key; -- RS-JOIN-mGBY-RS-rGBY -explain select src.key, sum(src.key) FROM src JOIN src1 ON src.key = src1.key group by src.key, src.value; +explain select `s/c`.key, sum(`s/c`.key) FROM `s/c` JOIN src1 ON `s/c`.key = src1.key group by `s/c`.key, `s/c`.value; -- RS-JOIN-RS -explain select src.key, src.value FROM src JOIN src1 ON src.key = src1.key order by src.key, src.value; +explain select `s/c`.key, `s/c`.value FROM `s/c` JOIN src1 ON `s/c`.key = src1.key order by `s/c`.key, `s/c`.value; -- mGBY-RS-rGBY-mGBY-RS-rGBY -explain from (select key, value from src group by key, value) s select s.key group by s.key; -explain select key, count(distinct value) from (select key, value from src group by key, value) t group by key; - -select key, sum(key) from (select * from src distribute by key sort by key, value) Q1 group by key; -select key, sum(key), lower(value) from (select * from src order by key) Q1 group by key, lower(value); -select key, sum(key), (X + 1) from (select key, (value + 1) as X from src order by key) Q1 group by key, (X + 1); -select key, sum(key) as value from src group by key order by key; -select src.key, sum(src.key) FROM src JOIN src1 ON src.key = src1.key group by src.key, src.value; -select src.key, src.value FROM src JOIN src1 ON src.key = src1.key order by src.key, src.value; -from (select key, value from src group by key, value) s select s.key group by s.key; -select key, count(distinct value) from (select key, value from src group by key, value) t group by key; +explain from (select key, value from `s/c` group by key, value) s select s.key group by s.key; +explain select key, count(distinct value) from (select key, value from `s/c` group by key, value) t group by key; + +select key, sum(key) from (select * from `s/c` distribute by key sort by key, value) Q1 group by key; +select key, sum(key), lower(value) from (select * from `s/c` order by key) Q1 group by key, lower(value); +select key, sum(key), (X + 1) from (select key, (value + 1) as X from `s/c` order by key) Q1 group by key, (X + 1); +select key, sum(key) as value from `s/c` group by key order by key; +select `s/c`.key, sum(`s/c`.key) FROM `s/c` JOIN src1 ON `s/c`.key = src1.key group by `s/c`.key, `s/c`.value; +select `s/c`.key, `s/c`.value FROM `s/c` JOIN src1 ON `s/c`.key = src1.key order by `s/c`.key, `s/c`.value; +from (select key, value from `s/c` group by key, value) s select s.key group by s.key; +select key, count(distinct value) from (select key, value from `s/c` group by key, value) t group by key; set hive.map.aggr=false; -- RS-RS-GBY -explain select key, sum(key) from (select * from src distribute by key sort by key, value) Q1 group by key; -explain select key, sum(key), lower(value) from (select * from src order by key) Q1 group by key, lower(value); -explain select key, sum(key), (X + 1) from (select key, (value + 1) as X from src order by key) Q1 group by key, (X + 1); +explain select key, sum(key) from (select * from `s/c` distribute by key sort by key, value) Q1 group by key; +explain select key, sum(key), lower(value) from (select * from `s/c` order by key) Q1 group by key, lower(value); +explain select key, sum(key), (X + 1) from (select key, (value + 1) as X from `s/c` order by key) Q1 group by key, (X + 1); -- RS-GBY-RS -explain select key, sum(key) as value from src group by key order by key; +explain select key, sum(key) as value from `s/c` group by key order by key; -- RS-JOIN-RS-GBY -explain select src.key, sum(src.key) FROM src JOIN src1 ON src.key = src1.key group by src.key, src.value; +explain select `s/c`.key, sum(`s/c`.key) FROM `s/c` JOIN src1 ON `s/c`.key = src1.key group by `s/c`.key, `s/c`.value; -- RS-JOIN-RS -explain select src.key, src.value FROM src JOIN src1 ON src.key = src1.key order by src.key, src.value; +explain select `s/c`.key, `s/c`.value FROM `s/c` JOIN src1 ON `s/c`.key = src1.key order by `s/c`.key, `s/c`.value; -- RS-GBY-RS-GBY -explain from (select key, value from src group by key, value) s select s.key group by s.key; -explain select key, count(distinct value) from (select key, value from src group by key, value) t group by key; - -select key, sum(key) from (select * from src distribute by key sort by key, value) Q1 group by key; -select key, sum(key), lower(value) from (select * from src order by key) Q1 group by key, lower(value); -select key, sum(key), (X + 1) from (select key, (value + 1) as X from src order by key) Q1 group by key, (X + 1); -select key, sum(key) as value from src group by key order by key; -select src.key, sum(src.key) FROM src JOIN src1 ON src.key = src1.key group by src.key, src.value; -select src.key, src.value FROM src JOIN src1 ON src.key = src1.key order by src.key, src.value; -from (select key, value from src group by key, value) s select s.key group by s.key; -select key, count(distinct value) from (select key, value from src group by key, value) t group by key; +explain from (select key, value from `s/c` group by key, value) s select s.key group by s.key; +explain select key, count(distinct value) from (select key, value from `s/c` group by key, value) t group by key; + +select key, sum(key) from (select * from `s/c` distribute by key sort by key, value) Q1 group by key; +select key, sum(key), lower(value) from (select * from `s/c` order by key) Q1 group by key, lower(value); +select key, sum(key), (X + 1) from (select key, (value + 1) as X from `s/c` order by key) Q1 group by key, (X + 1); +select key, sum(key) as value from `s/c` group by key order by key; +select `s/c`.key, sum(`s/c`.key) FROM `s/c` JOIN src1 ON `s/c`.key = src1.key group by `s/c`.key, `s/c`.value; +select `s/c`.key, `s/c`.value FROM `s/c` JOIN src1 ON `s/c`.key = src1.key order by `s/c`.key, `s/c`.value; +from (select key, value from `s/c` group by key, value) s select s.key group by s.key; +select key, count(distinct value) from (select key, value from `s/c` group by key, value) t group by key; diff --git a/ql/src/test/queries/clientpositive/reducesink_dedup.q b/ql/src/test/queries/clientpositive/reducesink_dedup.q index d429a1f..9c3a9e4 100644 --- a/ql/src/test/queries/clientpositive/reducesink_dedup.q +++ b/ql/src/test/queries/clientpositive/reducesink_dedup.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select p_name from (select p_name from part distribute by 1 sort by 1) p distribute by 1 sort by 1 diff --git a/ql/src/test/queries/clientpositive/regex_col.q b/ql/src/test/queries/clientpositive/regex_col.q index 1c311fc..2ce791c 100644 --- a/ql/src/test/queries/clientpositive/regex_col.q +++ b/ql/src/test/queries/clientpositive/regex_col.q @@ -1,37 +1,71 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=none; EXPLAIN -SELECT * FROM srcpart; +SELECT * FROM `s/cpart`; EXPLAIN -SELECT `..` FROM srcpart; +SELECT `..` FROM `s/cpart`; EXPLAIN -SELECT srcpart.`..` FROM srcpart; +SELECT `s/cpart`.`..` FROM `s/cpart`; EXPLAIN -SELECT `..` FROM srcpart a JOIN srcpart b +SELECT `..` FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key AND a.value = b.value; EXPLAIN -SELECT b.`..` FROM srcpart a JOIN srcpart b +SELECT b.`..` FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 ORDER BY ds, hr; -SELECT b.`..` FROM srcpart a JOIN srcpart b +SELECT b.`..` FROM `s/cpart` a JOIN `s/cpart` b ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 ORDER BY ds, hr; EXPLAIN -SELECT `.e.` FROM srcpart; +SELECT `.e.` FROM `s/cpart`; EXPLAIN -SELECT `d.*` FROM srcpart; +SELECT `d.*` FROM `s/cpart`; EXPLAIN -SELECT `(ds)?+.+` FROM srcpart; +SELECT `(ds)?+.+` FROM `s/cpart`; EXPLAIN -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10; +SELECT `(ds|hr)?+.+` FROM `s/cpart` ORDER BY key, value LIMIT 10; -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10; +SELECT `(ds|hr)?+.+` FROM `s/cpart` ORDER BY key, value LIMIT 10; diff --git a/ql/src/test/queries/clientpositive/regexp_extract.q b/ql/src/test/queries/clientpositive/regexp_extract.q index 2074eea..45dbfe0 100644 --- a/ql/src/test/queries/clientpositive/regexp_extract.q +++ b/ql/src/test/queries/clientpositive/regexp_extract.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN EXTENDED FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap SELECT tmap.key, regexp_extract(tmap.value, 'val_(\\d+\\t\\d+)',1) WHERE tmap.key < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap @@ -17,16 +51,16 @@ SELECT tmap.key, regexp_extract(tmap.value, 'val_(\\d+\\t\\d+)',1) WHERE tmap.ke EXPLAIN EXTENDED FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap SELECT tmap.key, regexp_extract(tmap.value, 'val_(\\d+\\t\\d+)') WHERE tmap.key < 100; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value, 1+2, 3+4) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value, 1+2, 3+4) USING 'cat' CLUSTER BY key ) tmap diff --git a/ql/src/test/queries/clientpositive/remote_script.q b/ql/src/test/queries/clientpositive/remote_script.q index c4fcaaf..e2afac1 100644 --- a/ql/src/test/queries/clientpositive/remote_script.q +++ b/ql/src/test/queries/clientpositive/remote_script.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs -put ../../data/scripts/newline.py /newline.py; add file hdfs:///newline.py; set hive.transform.escape.input=true; @@ -5,7 +39,7 @@ set hive.transform.escape.input=true; create table tmp_tmp(key string, value string) stored as rcfile; insert overwrite table tmp_tmp SELECT TRANSFORM(key, value) USING -'python newline.py' AS key, value FROM src limit 6; +'python newline.py' AS key, value FROM `s/c` limit 6; select * from tmp_tmp ORDER BY key ASC, value ASC; diff --git a/ql/src/test/queries/clientpositive/rename_column.q b/ql/src/test/queries/clientpositive/rename_column.q index a3f3f30..1e656b7 100644 --- a/ql/src/test/queries/clientpositive/rename_column.q +++ b/ql/src/test/queries/clientpositive/rename_column.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE kv_rename_test(a int, b int, c int); DESCRIBE kv_rename_test; diff --git a/ql/src/test/queries/clientpositive/rename_external_partition_location.q b/ql/src/test/queries/clientpositive/rename_external_partition_location.q index faebd55..9f0ae97 100644 --- a/ql/src/test/queries/clientpositive/rename_external_partition_location.q +++ b/ql/src/test/queries/clientpositive/rename_external_partition_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/ex_table; @@ -7,7 +41,7 @@ CREATE EXTERNAL TABLE ex_table ( key INT, value STRING) LOCATION 'file:${system:test.tmp.dir}/ex_table'; INSERT OVERWRITE TABLE ex_table PARTITION (part='part1') -SELECT key, value FROM src WHERE key < 10; +SELECT key, value FROM `s/c` WHERE key < 10; SHOW PARTITIONS ex_table; SELECT * from ex_table where part='part1' ORDER BY key; diff --git a/ql/src/test/queries/clientpositive/rename_partition_location.q b/ql/src/test/queries/clientpositive/rename_partition_location.q index ee4ff81..14c1011 100644 --- a/ql/src/test/queries/clientpositive/rename_partition_location.q +++ b/ql/src/test/queries/clientpositive/rename_partition_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that if the tables location changes, renaming a partition will not change -- the partition location accordingly @@ -5,7 +39,7 @@ CREATE TABLE rename_partition_table (key STRING, value STRING) PARTITIONED BY (p STORED AS RCFILE LOCATION 'pfile:${system:test.tmp.dir}/rename_partition_table'; -INSERT OVERWRITE TABLE rename_partition_table PARTITION (part = '1') SELECT * FROM src; +INSERT OVERWRITE TABLE rename_partition_table PARTITION (part = '1') SELECT * FROM `s/c`; ALTER TABLE rename_partition_table SET LOCATION 'file:${system:test.tmp.dir}/rename_partition_table'; diff --git a/ql/src/test/queries/clientpositive/rename_table_location.q b/ql/src/test/queries/clientpositive/rename_table_location.q index ad0ce3a..3c041ed 100644 --- a/ql/src/test/queries/clientpositive/rename_table_location.q +++ b/ql/src/test/queries/clientpositive/rename_table_location.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that if the tables location changes, renaming a table will not change -- the table location scheme @@ -5,7 +39,7 @@ CREATE TABLE rename_partition_table (key STRING, value STRING) PARTITIONED BY (p STORED AS RCFILE LOCATION 'pfile:${system:test.tmp.dir}/rename_partition_table'; -INSERT OVERWRITE TABLE rename_partition_table PARTITION (part = '1') SELECT * FROM src; +INSERT OVERWRITE TABLE rename_partition_table PARTITION (part = '1') SELECT * FROM `s/c`; ALTER TABLE rename_partition_table SET LOCATION 'file:${system:test.tmp.dir}/rename_partition_table'; diff --git a/ql/src/test/queries/clientpositive/repair.q b/ql/src/test/queries/clientpositive/repair.q index 8076030..2b98e8b 100644 --- a/ql/src/test/queries/clientpositive/repair.q +++ b/ql/src/test/queries/clientpositive/repair.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS repairtable; CREATE TABLE repairtable(col STRING) PARTITIONED BY (p1 STRING, p2 STRING); diff --git a/ql/src/test/queries/clientpositive/repl_1_drop.q b/ql/src/test/queries/clientpositive/repl_1_drop.q index 5b7a86a..b131806 100644 --- a/ql/src/test/queries/clientpositive/repl_1_drop.q +++ b/ql/src/test/queries/clientpositive/repl_1_drop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; diff --git a/ql/src/test/queries/clientpositive/repl_2_exim_basic.q b/ql/src/test/queries/clientpositive/repl_2_exim_basic.q index 893d468..a857c61 100644 --- a/ql/src/test/queries/clientpositive/repl_2_exim_basic.q +++ b/ql/src/test/queries/clientpositive/repl_2_exim_basic.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=managed_t,ext_t,managed_t_imported,managed_t_r_imported,ext_t_imported,ext_t_r_imported; diff --git a/ql/src/test/queries/clientpositive/repl_3_exim_metadata.q b/ql/src/test/queries/clientpositive/repl_3_exim_metadata.q index 6d24d39..f159a8e 100644 --- a/ql/src/test/queries/clientpositive/repl_3_exim_metadata.q +++ b/ql/src/test/queries/clientpositive/repl_3_exim_metadata.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.test.mode=true; set hive.test.mode.prefix=; set hive.test.mode.nosamplelist=replsrc,repldst,repldst_md; diff --git a/ql/src/test/queries/clientpositive/reset_conf.q b/ql/src/test/queries/clientpositive/reset_conf.q index 8ddde23..6c62cf8 100644 --- a/ql/src/test/queries/clientpositive/reset_conf.q +++ b/ql/src/test/queries/clientpositive/reset_conf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.skewjoin.key; set hive.skewjoin.mapjoin.min.split; set hive.skewjoin.key=300000; diff --git a/ql/src/test/queries/clientpositive/root_dir_external_table.q b/ql/src/test/queries/clientpositive/root_dir_external_table.q index a0514c8..01d1038 100644 --- a/ql/src/test/queries/clientpositive/root_dir_external_table.q +++ b/ql/src/test/queries/clientpositive/root_dir_external_table.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/test_root_dir_external_table; -insert overwrite directory "hdfs:///tmp/test_root_dir_external_table" select key from src where (key < 20) order by key; +insert overwrite directory "hdfs:///tmp/test_root_dir_external_table" select key from `s/c` where (key < 20) order by key; dfs -cp /tmp/test_root_dir_external_table/000000_0 /000000_0; dfs -rmr hdfs:///tmp/test_root_dir_external_table; diff --git a/ql/src/test/queries/clientpositive/router_join_ppr.q b/ql/src/test/queries/clientpositive/router_join_ppr.q index f604f0e..b294bef 100644 --- a/ql/src/test/queries/clientpositive/router_join_ppr.q +++ b/ql/src/test/queries/clientpositive/router_join_ppr.q @@ -1,37 +1,71 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- SORT_QUERY_RESULTS EXPLAIN EXTENDED FROM - src a + `s/c` a RIGHT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - src a + `s/c` a RIGHT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key AND b.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; FROM - srcpart a + `s/cpart` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key AND a.ds = '2008-04-08') SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25; @@ -39,34 +73,34 @@ EXPLAIN EXTENDED EXPLAIN EXTENDED FROM - src a + `s/c` a RIGHT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; FROM - src a + `s/c` a RIGHT OUTER JOIN - srcpart b + `s/cpart` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND b.ds = '2008-04-08'; EXPLAIN EXTENDED FROM - srcpart a + `s/cpart` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; FROM - srcpart a + `s/cpart` a RIGHT OUTER JOIN - src b + `s/c` b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > 10 AND a.key < 20 AND b.key > 15 AND b.key < 25 AND a.ds = '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/runtime_skewjoin_mapjoin_spark.q b/ql/src/test/queries/clientpositive/runtime_skewjoin_mapjoin_spark.q index 1888005..920039b 100644 --- a/ql/src/test/queries/clientpositive/runtime_skewjoin_mapjoin_spark.q +++ b/ql/src/test/queries/clientpositive/runtime_skewjoin_mapjoin_spark.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.skewjoin = true; set hive.skewjoin.key = 4; set hive.auto.convert.join=true; @@ -12,13 +46,13 @@ LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T1; EXPLAIN SELECT COUNT(*) FROM - (SELECT src1.key,src1.value FROM src src1 JOIN src src2 ON src1.key=src2.key) a + (SELECT src1.key,src1.value FROM `s/c` src1 JOIN `s/c` src2 ON src1.key=src2.key) a JOIN - (SELECT src.key,src.value FROM src JOIN T1 ON src.key=T1.key) b + (SELECT `s/c`.key,`s/c`.value FROM `s/c` JOIN T1 ON `s/c`.key=T1.key) b ON a.key=b.key; SELECT COUNT(*) FROM - (SELECT src1.key,src1.value FROM src src1 JOIN src src2 ON src1.key=src2.key) a + (SELECT src1.key,src1.value FROM `s/c` src1 JOIN `s/c` src2 ON src1.key=src2.key) a JOIN - (SELECT src.key,src.value FROM src JOIN T1 ON src.key=T1.key) b + (SELECT `s/c`.key,`s/c`.value FROM `s/c` JOIN T1 ON `s/c`.key=T1.key) b ON a.key=b.key; diff --git a/ql/src/test/queries/clientpositive/sample1.q b/ql/src/test/queries/clientpositive/sample1.q index 6e86cef..9ee6c9b 100644 --- a/ql/src/test/queries/clientpositive/sample1.q +++ b/ql/src/test/queries/clientpositive/sample1.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING, dt STRING, hr STRING) STORED AS TEXTFILE; -- no input pruning, no sample filter EXPLAIN EXTENDED INSERT OVERWRITE TABLE dest1 SELECT s.* -FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON rand()) s +FROM `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 1 ON rand()) s WHERE s.ds='2008-04-08' and s.hr='11'; INSERT OVERWRITE TABLE dest1 SELECT s.* -FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON rand()) s +FROM `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 1 ON rand()) s WHERE s.ds='2008-04-08' and s.hr='11'; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/sample10.q b/ql/src/test/queries/clientpositive/sample10.q index d9fe744..c133832 100644 --- a/ql/src/test/queries/clientpositive/sample10.q +++ b/ql/src/test/queries/clientpositive/sample10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; set hive.exec.dynamic.partition=true; @@ -12,7 +46,7 @@ set hive.exec.pre.hooks = org.apache.hadoop.hive.ql.hooks.PreExecutePrinter,org. create table srcpartbucket (key string, value string) partitioned by (ds string, hr string) clustered by (key) into 4 buckets; -insert overwrite table srcpartbucket partition(ds, hr) select * from srcpart where ds is not null and key < 10; +insert overwrite table srcpartbucket partition(ds, hr) select * from `s/cpart` where ds is not null and key < 10; explain extended select ds, count(1) from srcpartbucket tablesample (bucket 1 out of 4 on key) where ds is not null group by ds ORDER BY ds ASC; diff --git a/ql/src/test/queries/clientpositive/sample2.q b/ql/src/test/queries/clientpositive/sample2.q index 9ca5d26..9a74379 100644 --- a/ql/src/test/queries/clientpositive/sample2.q +++ b/ql/src/test/queries/clientpositive/sample2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -- input pruning, no sample filter diff --git a/ql/src/test/queries/clientpositive/sample3.q b/ql/src/test/queries/clientpositive/sample3.q index fe001a3..2db4d4f 100644 --- a/ql/src/test/queries/clientpositive/sample3.q +++ b/ql/src/test/queries/clientpositive/sample3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- no input pruning, sample filter diff --git a/ql/src/test/queries/clientpositive/sample4.q b/ql/src/test/queries/clientpositive/sample4.q index 85a9d92..b923643 100644 --- a/ql/src/test/queries/clientpositive/sample4.q +++ b/ql/src/test/queries/clientpositive/sample4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -- bucket column is the same as table sample diff --git a/ql/src/test/queries/clientpositive/sample5.q b/ql/src/test/queries/clientpositive/sample5.q index d0aab34..baf94fa 100644 --- a/ql/src/test/queries/clientpositive/sample5.q +++ b/ql/src/test/queries/clientpositive/sample5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/sample6.q b/ql/src/test/queries/clientpositive/sample6.q index ea3511f..cf5d122 100644 --- a/ql/src/test/queries/clientpositive/sample6.q +++ b/ql/src/test/queries/clientpositive/sample6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -- both input pruning and sample filter diff --git a/ql/src/test/queries/clientpositive/sample7.q b/ql/src/test/queries/clientpositive/sample7.q index 18344d7..30dece8 100644 --- a/ql/src/test/queries/clientpositive/sample7.q +++ b/ql/src/test/queries/clientpositive/sample7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -- both input pruning and sample filter diff --git a/ql/src/test/queries/clientpositive/sample8.q b/ql/src/test/queries/clientpositive/sample8.q index 1176aa4..ac38faf 100644 --- a/ql/src/test/queries/clientpositive/sample8.q +++ b/ql/src/test/queries/clientpositive/sample8.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- sampling with join and alias -- SORT_QUERY_RESULTS EXPLAIN EXTENDED SELECT s.* -FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s -JOIN srcpart TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t +FROM `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s +JOIN `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t WHERE t.key = s.key and t.value = s.value and s.ds='2008-04-08' and s.hr='11'; SELECT s.key, s.value -FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s -JOIN srcpart TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t +FROM `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s +JOIN `s/cpart` TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t WHERE t.key = s.key and t.value = s.value and s.ds='2008-04-08' and s.hr='11'; EXPLAIN -SELECT * FROM src TABLESAMPLE(100 ROWS) a JOIN src1 TABLESAMPLE(10 ROWS) b ON a.key=b.key; +SELECT * FROM `s/c` TABLESAMPLE(100 ROWS) a JOIN src1 TABLESAMPLE(10 ROWS) b ON a.key=b.key; -SELECT * FROM src TABLESAMPLE(100 ROWS) a JOIN src1 TABLESAMPLE(10 ROWS) b ON a.key=b.key; +SELECT * FROM `s/c` TABLESAMPLE(100 ROWS) a JOIN src1 TABLESAMPLE(10 ROWS) b ON a.key=b.key; EXPLAIN -SELECT * FROM src TABLESAMPLE(100 ROWS) a, src1 TABLESAMPLE(10 ROWS) b WHERE a.key=b.key; +SELECT * FROM `s/c` TABLESAMPLE(100 ROWS) a, src1 TABLESAMPLE(10 ROWS) b WHERE a.key=b.key; -SELECT * FROM src TABLESAMPLE(100 ROWS) a, src1 TABLESAMPLE(10 ROWS) b WHERE a.key=b.key; \ No newline at end of file +SELECT * FROM `s/c` TABLESAMPLE(100 ROWS) a, src1 TABLESAMPLE(10 ROWS) b WHERE a.key=b.key; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/sample9.q b/ql/src/test/queries/clientpositive/sample9.q index 03139ca..cf26a49 100644 --- a/ql/src/test/queries/clientpositive/sample9.q +++ b/ql/src/test/queries/clientpositive/sample9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN EXTENDED SELECT s.* FROM (SELECT a.* FROM srcbucket TABLESAMPLE (BUCKET 1 OUT OF 2 on key) a) s; diff --git a/ql/src/test/queries/clientpositive/sample_islocalmode_hook.q b/ql/src/test/queries/clientpositive/sample_islocalmode_hook.q index 5bcb344..41df8c0 100644 --- a/ql/src/test/queries/clientpositive/sample_islocalmode_hook.q +++ b/ql/src/test/queries/clientpositive/sample_islocalmode_hook.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -12,9 +46,9 @@ set hive.merge.smallfiles.avgsize=1; -- create file inputs create table sih_i_part (key int, value string) partitioned by (p string); -insert overwrite table sih_i_part partition (p='1') select key, value from src; -insert overwrite table sih_i_part partition (p='2') select key+10000, value from src; -insert overwrite table sih_i_part partition (p='3') select key+20000, value from src; +insert overwrite table sih_i_part partition (p='1') select key, value from `s/c`; +insert overwrite table sih_i_part partition (p='2') select key+10000, value from `s/c`; +insert overwrite table sih_i_part partition (p='3') select key+20000, value from `s/c`; create table sih_src as select key, value from sih_i_part order by key, value; create table sih_src2 as select key, value from sih_src order by key, value; diff --git a/ql/src/test/queries/clientpositive/sample_islocalmode_hook_hadoop20.q b/ql/src/test/queries/clientpositive/sample_islocalmode_hook_hadoop20.q index 7429932..fea81b8 100644 --- a/ql/src/test/queries/clientpositive/sample_islocalmode_hook_hadoop20.q +++ b/ql/src/test/queries/clientpositive/sample_islocalmode_hook_hadoop20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + USE default; set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; @@ -18,9 +52,9 @@ set hive.merge.smallfiles.avgsize=1; -- create file inputs create table sih_i_part (key int, value string) partitioned by (p string); -insert overwrite table sih_i_part partition (p='1') select key, value from src; -insert overwrite table sih_i_part partition (p='2') select key+10000, value from src; -insert overwrite table sih_i_part partition (p='3') select key+20000, value from src; +insert overwrite table sih_i_part partition (p='1') select key, value from `s/c`; +insert overwrite table sih_i_part partition (p='2') select key+10000, value from `s/c`; +insert overwrite table sih_i_part partition (p='3') select key+20000, value from `s/c`; create table sih_src as select key, value from sih_i_part order by key, value; create table sih_src2 as select key, value from sih_src order by key, value; diff --git a/ql/src/test/queries/clientpositive/schemeAuthority.q b/ql/src/test/queries/clientpositive/schemeAuthority.q index c0e18c5..2f6b6c3 100644 --- a/ql/src/test/queries/clientpositive/schemeAuthority.q +++ b/ql/src/test/queries/clientpositive/schemeAuthority.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} file:///tmp/test; dfs ${system:test.dfs.mkdir} hdfs:///tmp/test; create external table dynPart (key string) partitioned by (value string) row format delimited fields terminated by '\\t' stored as textfile; -insert overwrite local directory "/tmp/test" select key from src where (key = 10) order by key; -insert overwrite directory "/tmp/test" select key from src where (key = 20) order by key; +insert overwrite local directory "/tmp/test" select key from `s/c` where (key = 10) order by key; +insert overwrite directory "/tmp/test" select key from `s/c` where (key = 20) order by key; alter table dynPart add partition (value='0') location 'file:///tmp/test'; alter table dynPart add partition (value='1') location 'hdfs:///tmp/test'; select count(*) from dynPart; select key from dynPart; -select key from src where (key = 10) order by key; -select key from src where (key = 20) order by key; +select key from `s/c` where (key = 10) order by key; +select key from `s/c` where (key = 20) order by key; dfs -rmr file:///tmp/test; dfs -rmr hdfs:///tmp/test; diff --git a/ql/src/test/queries/clientpositive/schemeAuthority2.q b/ql/src/test/queries/clientpositive/schemeAuthority2.q index b3c38bf..33847e3 100644 --- a/ql/src/test/queries/clientpositive/schemeAuthority2.q +++ b/ql/src/test/queries/clientpositive/schemeAuthority2.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} file:///tmp/test; dfs ${system:test.dfs.mkdir} hdfs:///tmp/test; create external table dynPart (key string) partitioned by (value string, value2 string) row format delimited fields terminated by '\\t' stored as textfile; -insert overwrite local directory "/tmp/test" select key from src where (key = 10) order by key; -insert overwrite directory "/tmp/test" select key from src where (key = 20) order by key; +insert overwrite local directory "/tmp/test" select key from `s/c` where (key = 10) order by key; +insert overwrite directory "/tmp/test" select key from `s/c` where (key = 20) order by key; alter table dynPart add partition (value='0', value2='clusterA') location 'file:///tmp/test'; alter table dynPart add partition (value='0', value2='clusterB') location 'hdfs:///tmp/test'; select value2, key from dynPart where value='0'; diff --git a/ql/src/test/queries/clientpositive/script_env_var1.q b/ql/src/test/queries/clientpositive/script_env_var1.q index 77d9945..3202834 100644 --- a/ql/src/test/queries/clientpositive/script_env_var1.q +++ b/ql/src/test/queries/clientpositive/script_env_var1.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Verifies that script operator ID environment variables have unique values -- in each instance of the script operator. SELECT count(1) FROM -( SELECT * FROM (SELECT TRANSFORM('echo $HIVE_SCRIPT_OPERATOR_ID') USING 'sh' AS key FROM src order by key LIMIT 1)x UNION ALL - SELECT * FROM (SELECT TRANSFORM('echo $HIVE_SCRIPT_OPERATOR_ID') USING 'sh' AS key FROM src order by key LIMIT 1)y ) a GROUP BY key; +( SELECT * FROM (SELECT TRANSFORM('echo $HIVE_SCRIPT_OPERATOR_ID') USING 'sh' AS key FROM `s/c` order by key LIMIT 1)x UNION ALL + SELECT * FROM (SELECT TRANSFORM('echo $HIVE_SCRIPT_OPERATOR_ID') USING 'sh' AS key FROM `s/c` order by key LIMIT 1)y ) a GROUP BY key; diff --git a/ql/src/test/queries/clientpositive/script_env_var2.q b/ql/src/test/queries/clientpositive/script_env_var2.q index 01e399b..3654bca 100644 --- a/ql/src/test/queries/clientpositive/script_env_var2.q +++ b/ql/src/test/queries/clientpositive/script_env_var2.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.script.operator.id.env.var = MY_ID; -- Same test as script_env_var1, but test setting the variable name SELECT count(1) FROM -( SELECT * FROM (SELECT TRANSFORM('echo $MY_ID') USING 'sh' AS key FROM src LIMIT 1)a UNION ALL - SELECT * FROM (SELECT TRANSFORM('echo $MY_ID') USING 'sh' AS key FROM src LIMIT 1)b ) a GROUP BY key; +( SELECT * FROM (SELECT TRANSFORM('echo $MY_ID') USING 'sh' AS key FROM `s/c` LIMIT 1)a UNION ALL + SELECT * FROM (SELECT TRANSFORM('echo $MY_ID') USING 'sh' AS key FROM `s/c` LIMIT 1)b ) a GROUP BY key; diff --git a/ql/src/test/queries/clientpositive/script_pipe.q b/ql/src/test/queries/clientpositive/script_pipe.q index 95a08dd..9fd8e4c 100644 --- a/ql/src/test/queries/clientpositive/script_pipe.q +++ b/ql/src/test/queries/clientpositive/script_pipe.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.exec.script.allow.partial.consumption = true; -- Tests exception in ScriptOperator.close() by passing to the operator a small amount of data -EXPLAIN SELECT TRANSFORM(*) USING 'true' AS a, b, c FROM (SELECT * FROM src LIMIT 1) tmp; +EXPLAIN SELECT TRANSFORM(*) USING 'true' AS a, b, c FROM (SELECT * FROM `s/c` LIMIT 1) tmp; -- Tests exception in ScriptOperator.processOp() by passing extra data needed to fill pipe buffer -EXPLAIN SELECT TRANSFORM(key, value, key, value, key, value, key, value, key, value, key, value) USING 'head -n 1' as a,b,c,d FROM src; +EXPLAIN SELECT TRANSFORM(key, value, key, value, key, value, key, value, key, value, key, value) USING 'head -n 1' as a,b,c,d FROM `s/c`; -SELECT TRANSFORM(*) USING 'true' AS a, b, c FROM (SELECT * FROM src LIMIT 1) tmp; -SELECT TRANSFORM(key, value, key, value, key, value, key, value, key, value, key, value) USING 'head -n 1' as a,b,c,d FROM src; +SELECT TRANSFORM(*) USING 'true' AS a, b, c FROM (SELECT * FROM `s/c` LIMIT 1) tmp; +SELECT TRANSFORM(key, value, key, value, key, value, key, value, key, value, key, value) USING 'head -n 1' as a,b,c,d FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/scriptfile1.q b/ql/src/test/queries/clientpositive/scriptfile1.q index 49d2197..454a1a7 100644 --- a/ql/src/test/queries/clientpositive/scriptfile1.q +++ b/ql/src/test/queries/clientpositive/scriptfile1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- SORT_QUERY_RESULTS @@ -5,11 +39,11 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- EXCLUDE_OS_WINDOWS CREATE TABLE dest1(key INT, value STRING); -ADD FILE ../../ql/src/test/scripts/testgrep; +ADD FILE ../../ql/`s/c`/test/scripts/testgrep; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'testgrep' AS (tkey, tvalue) CLUSTER BY tkey ) tmap diff --git a/ql/src/test/queries/clientpositive/scriptfile1_win.q b/ql/src/test/queries/clientpositive/scriptfile1_win.q index fd19d84..3b6802f 100644 --- a/ql/src/test/queries/clientpositive/scriptfile1_win.q +++ b/ql/src/test/queries/clientpositive/scriptfile1_win.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; -- INCLUDE_OS_WINDOWS CREATE TABLE dest1(key INT, value STRING); -ADD FILE ../../ql/src/test/scripts/testgrep_win.bat; +ADD FILE ../../ql/`s/c`/test/scripts/testgrep_win.bat; FROM ( - FROM src - SELECT TRANSFORM(src.key, src.value) + FROM `s/c` + SELECT TRANSFORM(`s/c`.key, `s/c`.value) USING 'testgrep_win.bat' AS (tkey, tvalue) CLUSTER BY tkey ) tmap diff --git a/ql/src/test/queries/clientpositive/selectDistinctStar.q b/ql/src/test/queries/clientpositive/selectDistinctStar.q index cee83bb..112eeac 100644 --- a/ql/src/test/queries/clientpositive/selectDistinctStar.q +++ b/ql/src/test/queries/clientpositive/selectDistinctStar.q @@ -1,36 +1,70 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS -explain select distinct src.* from src; +explain select distinct `s/c`.* from `s/c`; -- SORT_QUERY_RESULTS -select distinct src.* from src; +select distinct `s/c`.* from `s/c`; -select distinct * from src; +select distinct * from `s/c`; -explain select distinct * from src where key < '3'; +explain select distinct * from `s/c` where key < '3'; -select distinct * from src where key < '3'; +select distinct * from `s/c` where key < '3'; -from src a select distinct a.* where a.key = '238'; +from `s/c` a select distinct a.* where a.key = '238'; explain SELECT distinct * from ( select * from src1 union all -select * from src )subq; +select * from `s/c` )subq; SELECT distinct * from ( select * from src1 union all -select * from src )subq; +select * from `s/c` )subq; drop view if exists sdi; -explain create view sdi as select distinct * from src order by key limit 2; +explain create view sdi as select distinct * from `s/c` order by key limit 2; -create view sdi as select distinct * from src order by key limit 2; +create view sdi as select distinct * from `s/c` order by key limit 2; describe extended sdi; @@ -38,49 +72,49 @@ describe formatted sdi; select * from sdi; -select distinct * from src union all select distinct * from src1; +select distinct * from `s/c` union all select distinct * from src1; -select distinct * from src join src1 on src.key=src1.key; +select distinct * from `s/c` join src1 on `s/c`.key=src1.key; SELECT distinct * -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from (select distinct * from src)src1 +select * from (select distinct * from `s/c`)src1 join -(select distinct * from src)src2 +(select distinct * from `s/c`)src2 on src1.key=src2.key; -select distinct * from (select distinct * from src)src1; +select distinct * from (select distinct * from `s/c`)src1; -explain select distinct src.* from src; +explain select distinct `s/c`.* from `s/c`; -select distinct src.* from src; +select distinct `s/c`.* from `s/c`; -select distinct * from src; +select distinct * from `s/c`; -explain select distinct * from src where key < '3'; +explain select distinct * from `s/c` where key < '3'; -select distinct * from src where key < '3'; +select distinct * from `s/c` where key < '3'; -from src a select distinct a.* where a.key = '238'; +from `s/c` a select distinct a.* where a.key = '238'; explain SELECT distinct * from ( select * from src1 union all -select * from src )subq; +select * from `s/c` )subq; SELECT distinct * from ( select * from src1 union all -select * from src )subq; +select * from `s/c` )subq; drop view if exists sdi; -explain create view sdi as select distinct * from src order by key limit 2; +explain create view sdi as select distinct * from `s/c` order by key limit 2; -create view sdi as select distinct * from src order by key limit 2; +create view sdi as select distinct * from `s/c` order by key limit 2; describe extended sdi; @@ -88,17 +122,17 @@ describe formatted sdi; select * from sdi; -select distinct * from src union all select distinct * from src1; +select distinct * from `s/c` union all select distinct * from src1; -select distinct * from src join src1 on src.key=src1.key; +select distinct * from `s/c` join src1 on `s/c`.key=src1.key; SELECT distinct * -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); +FROM src1 x JOIN `s/c` y ON (x.key = y.key) +JOIN `s/cpart` z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); -select * from (select distinct * from src)src1 +select * from (select distinct * from `s/c`)src1 join -(select distinct * from src)src2 +(select distinct * from `s/c`)src2 on src1.key=src2.key; -select distinct * from (select distinct * from src)src1; +select distinct * from (select distinct * from `s/c`)src1; diff --git a/ql/src/test/queries/clientpositive/select_as_omitted.q b/ql/src/test/queries/clientpositive/select_as_omitted.q index f0fe03f..8edfffe 100644 --- a/ql/src/test/queries/clientpositive/select_as_omitted.q +++ b/ql/src/test/queries/clientpositive/select_as_omitted.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIn SELECT a, b FROM ( SELECT key a, value b - FROM src + FROM `s/c` ) src1 ORDER BY a LIMIT 1; SELECT a, b FROM ( SELECT key a, value b - FROM src + FROM `s/c` ) src1 ORDER BY a LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/select_dummy_source.q b/ql/src/test/queries/clientpositive/select_dummy_source.q index 915534a..052cf5a 100644 --- a/ql/src/test/queries/clientpositive/select_dummy_source.q +++ b/ql/src/test/queries/clientpositive/select_dummy_source.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; explain select 'a', 100; diff --git a/ql/src/test/queries/clientpositive/select_same_col.q b/ql/src/test/queries/clientpositive/select_same_col.q index 21f0d45..cd7f740 100644 --- a/ql/src/test/queries/clientpositive/select_same_col.q +++ b/ql/src/test/queries/clientpositive/select_same_col.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=true; -- SORT_BEFORE_DIFF drop table srclimit; -create table srclimit as select * from src limit 10; +create table srclimit as select * from `s/c` limit 10; select cast(value as binary), value from srclimit; diff --git a/ql/src/test/queries/clientpositive/select_transform_hint.q b/ql/src/test/queries/clientpositive/select_transform_hint.q index b5a8147..7ccb153 100644 --- a/ql/src/test/queries/clientpositive/select_transform_hint.q +++ b/ql/src/test/queries/clientpositive/select_transform_hint.q @@ -1,26 +1,60 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.entity.capture.transform=true; EXPLAIN SELECT /*+MAPJOIN(a)*/ TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) -FROM src a join src b +FROM `s/c` a join `s/c` b on a.key = b.key; SELECT /*+MAPJOIN(a)*/ TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) -FROM src a join src b +FROM `s/c` a join `s/c` b on a.key = b.key; EXPLAIN SELECT /*+STREAMTABLE(a)*/ TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) -FROM src a join src b +FROM `s/c` a join `s/c` b on a.key = b.key; SELECT /*+STREAMTABLE(a)*/ TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) -FROM src a join src b +FROM `s/c` a join `s/c` b on a.key = b.key; diff --git a/ql/src/test/queries/clientpositive/select_unquote_and.q b/ql/src/test/queries/clientpositive/select_unquote_and.q index 275c774..3c95100 100644 --- a/ql/src/test/queries/clientpositive/select_unquote_and.q +++ b/ql/src/test/queries/clientpositive/select_unquote_and.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE npe_test (key STRING, value STRING) PARTITIONED BY (ds STRING); INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-11') -SELECT src.key, src.value FROM src WHERE key < '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key < '200'; INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-12') -SELECT src.key, src.value FROM src WHERE key > '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key > '200'; SELECT count(*) FROM npe_test; diff --git a/ql/src/test/queries/clientpositive/select_unquote_not.q b/ql/src/test/queries/clientpositive/select_unquote_not.q index 93d992e..411cc00 100644 --- a/ql/src/test/queries/clientpositive/select_unquote_not.q +++ b/ql/src/test/queries/clientpositive/select_unquote_not.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE npe_test (key STRING, value STRING) PARTITIONED BY (ds STRING); INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-11') -SELECT src.key, src.value FROM src WHERE key < '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key < '200'; INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-12') -SELECT src.key, src.value FROM src WHERE key > '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key > '200'; SELECT count(*) FROM npe_test; diff --git a/ql/src/test/queries/clientpositive/select_unquote_or.q b/ql/src/test/queries/clientpositive/select_unquote_or.q index 5dd0776..7e1b001 100644 --- a/ql/src/test/queries/clientpositive/select_unquote_or.q +++ b/ql/src/test/queries/clientpositive/select_unquote_or.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE npe_test (key STRING, value STRING) PARTITIONED BY (ds STRING); INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-11') -SELECT src.key, src.value FROM src WHERE key < '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key < '200'; INSERT OVERWRITE TABLE npe_test PARTITION(ds='2012-12-12') -SELECT src.key, src.value FROM src WHERE key > '200'; +SELECT `s/c`.key, `s/c`.value FROM `s/c` WHERE key > '200'; SELECT count(*) FROM npe_test; diff --git a/ql/src/test/queries/clientpositive/semicolon.q b/ql/src/test/queries/clientpositive/semicolon.q index fef2687..bf5b00f 100644 --- a/ql/src/test/queries/clientpositive/semicolon.q +++ b/ql/src/test/queries/clientpositive/semicolon.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- comment -- comment; -- comment -SELECT COUNT(1) FROM src; +SELECT COUNT(1) FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/semijoin.q b/ql/src/test/queries/clientpositive/semijoin.q index 29190c4..a90858a 100644 --- a/ql/src/test/queries/clientpositive/semijoin.q +++ b/ql/src/test/queries/clientpositive/semijoin.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -create table t1 as select cast(key as int) key, value from src where key <= 10; +create table t1 as select cast(key as int) key, value from `s/c` where key <= 10; select * from t1 sort by key; diff --git a/ql/src/test/queries/clientpositive/serde_opencsv.q b/ql/src/test/queries/clientpositive/serde_opencsv.q index a5ef8da..7b99485 100644 --- a/ql/src/test/queries/clientpositive/serde_opencsv.q +++ b/ql/src/test/queries/clientpositive/serde_opencsv.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE serde_opencsv( words STRING, diff --git a/ql/src/test/queries/clientpositive/serde_regex.q b/ql/src/test/queries/clientpositive/serde_regex.q index 91cc147..eed7684 100644 --- a/ql/src/test/queries/clientpositive/serde_regex.q +++ b/ql/src/test/queries/clientpositive/serde_regex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN CREATE TABLE serde_regex( host STRING, diff --git a/ql/src/test/queries/clientpositive/serde_reported_schema.q b/ql/src/test/queries/clientpositive/serde_reported_schema.q index 01ec864..a3b4282 100644 --- a/ql/src/test/queries/clientpositive/serde_reported_schema.q +++ b/ql/src/test/queries/clientpositive/serde_reported_schema.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table int_string partitioned by (b string) row format serde "org.apache.hadoop.hive.serde2.thrift.ThriftDeserializer" diff --git a/ql/src/test/queries/clientpositive/serde_user_properties.q b/ql/src/test/queries/clientpositive/serde_user_properties.q index 4d523e1..238d1a4 100644 --- a/ql/src/test/queries/clientpositive/serde_user_properties.q +++ b/ql/src/test/queries/clientpositive/serde_user_properties.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-2906 Table properties in SQL -explain extended select key from src; -explain extended select a.key from src a; -explain extended select a.key from src tablesample(1 percent) a; -explain extended select key from src ('user.defined.key'='some.value'); -explain extended select key from src ('user.defined.key'='some.value') tablesample(1 percent); -explain extended select a.key from src ('user.defined.key'='some.value') a; -explain extended select a.key from src ('user.defined.key'='some.value') tablesample(1 percent) a; +explain extended select key from `s/c`; +explain extended select a.key from `s/c` a; +explain extended select a.key from `s/c` tablesample(1 percent) a; +explain extended select key from `s/c` ('user.defined.key'='some.value'); +explain extended select key from `s/c` ('user.defined.key'='some.value') tablesample(1 percent); +explain extended select a.key from `s/c` ('user.defined.key'='some.value') a; +explain extended select a.key from `s/c` ('user.defined.key'='some.value') tablesample(1 percent) a; diff --git a/ql/src/test/queries/clientpositive/set_metaconf.q b/ql/src/test/queries/clientpositive/set_metaconf.q index ede3c02..f39c21c 100644 --- a/ql/src/test/queries/clientpositive/set_metaconf.q +++ b/ql/src/test/queries/clientpositive/set_metaconf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set metaconf:hive.metastore.try.direct.sql; set metaconf:hive.metastore.try.direct.sql=false; diff --git a/ql/src/test/queries/clientpositive/set_processor_namespaces.q b/ql/src/test/queries/clientpositive/set_processor_namespaces.q index d10239c..d3de238 100644 --- a/ql/src/test/queries/clientpositive/set_processor_namespaces.q +++ b/ql/src/test/queries/clientpositive/set_processor_namespaces.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set zzz=5; set zzz; @@ -16,8 +50,8 @@ set raw; set hive.variable.substitute=true; -EXPLAIN SELECT * FROM src where key=${hiveconf:zzz}; -SELECT * FROM src where key=${hiveconf:zzz}; +EXPLAIN SELECT * FROM `s/c` where key=${hiveconf:zzz}; +SELECT * FROM `s/c` where key=${hiveconf:zzz}; set a=1; set b=a; diff --git a/ql/src/test/queries/clientpositive/set_variable_sub.q b/ql/src/test/queries/clientpositive/set_variable_sub.q index 7bf1e60..8754779 100644 --- a/ql/src/test/queries/clientpositive/set_variable_sub.q +++ b/ql/src/test/queries/clientpositive/set_variable_sub.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hivevar:key1=value1; -EXPLAIN SELECT * FROM src where key="${key1}"; -EXPLAIN SELECT * FROM src where key="${hivevar:key1}"; +EXPLAIN SELECT * FROM `s/c` where key="${key1}"; +EXPLAIN SELECT * FROM `s/c` where key="${hivevar:key1}"; set hivevar:a=1; set hivevar:b=a; set hivevar:c=${hivevar:${hivevar:b}}; -EXPLAIN SELECT * FROM src where key="${hivevar:c}"; +EXPLAIN SELECT * FROM `s/c` where key="${hivevar:c}"; set hivevar:a; set hivevar:b; diff --git a/ql/src/test/queries/clientpositive/show_columns.q b/ql/src/test/queries/clientpositive/show_columns.q index 58a3a2c..d4dd338 100644 --- a/ql/src/test/queries/clientpositive/show_columns.q +++ b/ql/src/test/queries/clientpositive/show_columns.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE shcol_test(KEY STRING, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/show_conf.q b/ql/src/test/queries/clientpositive/show_conf.q index 5edb1a7..c295c03 100644 --- a/ql/src/test/queries/clientpositive/show_conf.q +++ b/ql/src/test/queries/clientpositive/show_conf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + show conf "hive.auto.convert.sortmerge.join.to.mapjoin"; show conf "hive.stats.retries.wait"; diff --git a/ql/src/test/queries/clientpositive/show_create_table_alter.q b/ql/src/test/queries/clientpositive/show_create_table_alter.q index 1158a69..35e70f9 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_alter.q +++ b/ql/src/test/queries/clientpositive/show_create_table_alter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on an external, clustered and sorted table. Then test the query again after ALTERs. CREATE EXTERNAL TABLE tmp_showcrt1 (key smallint, value float) diff --git a/ql/src/test/queries/clientpositive/show_create_table_db_table.q b/ql/src/test/queries/clientpositive/show_create_table_db_table.q index 1937acb..1957a33 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_db_table.q +++ b/ql/src/test/queries/clientpositive/show_create_table_db_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on a table name of format "db.table". CREATE DATABASE tmp_feng comment 'for show create table test'; diff --git a/ql/src/test/queries/clientpositive/show_create_table_delimited.q b/ql/src/test/queries/clientpositive/show_create_table_delimited.q index 7722964..f8b0bd7 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_delimited.q +++ b/ql/src/test/queries/clientpositive/show_create_table_delimited.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on a table with delimiters, stored format, and location. CREATE TABLE tmp_showcrt1 (key int, value string, newvalue bigint) diff --git a/ql/src/test/queries/clientpositive/show_create_table_partitioned.q b/ql/src/test/queries/clientpositive/show_create_table_partitioned.q index 3b69154..c7faacf 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_partitioned.q +++ b/ql/src/test/queries/clientpositive/show_create_table_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on a table with partitions and column comments. CREATE EXTERNAL TABLE tmp_showcrt1 (key string, newvalue boolean COMMENT 'a new value') diff --git a/ql/src/test/queries/clientpositive/show_create_table_serde.q b/ql/src/test/queries/clientpositive/show_create_table_serde.q index a94379b..00f6f63 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_serde.q +++ b/ql/src/test/queries/clientpositive/show_create_table_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on a table with serde. CREATE TABLE tmp_showcrt1 (key int, value string, newvalue bigint); diff --git a/ql/src/test/queries/clientpositive/show_create_table_temp_table.q b/ql/src/test/queries/clientpositive/show_create_table_temp_table.q index 19c2c3e..f820606 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_temp_table.q +++ b/ql/src/test/queries/clientpositive/show_create_table_temp_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database tmpdb; create temporary table tmpdb.tmp1 (c1 string, c2 string); diff --git a/ql/src/test/queries/clientpositive/show_create_table_view.q b/ql/src/test/queries/clientpositive/show_create_table_view.q index a378456..482ed36 100644 --- a/ql/src/test/queries/clientpositive/show_create_table_view.q +++ b/ql/src/test/queries/clientpositive/show_create_table_view.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test SHOW CREATE TABLE on a view name. -CREATE VIEW tmp_copy_src AS SELECT * FROM src; +CREATE VIEW tmp_copy_src AS SELECT * FROM `s/c`; SHOW CREATE TABLE tmp_copy_src; DROP VIEW tmp_copy_src; diff --git a/ql/src/test/queries/clientpositive/show_describe_func_quotes.q b/ql/src/test/queries/clientpositive/show_describe_func_quotes.q index de1451d..924b01a 100644 --- a/ql/src/test/queries/clientpositive/show_describe_func_quotes.q +++ b/ql/src/test/queries/clientpositive/show_describe_func_quotes.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SHOW FUNCTIONS 'concat'; SHOW FUNCTIONS concat; diff --git a/ql/src/test/queries/clientpositive/show_functions.q b/ql/src/test/queries/clientpositive/show_functions.q index 106e05f..d606381 100644 --- a/ql/src/test/queries/clientpositive/show_functions.q +++ b/ql/src/test/queries/clientpositive/show_functions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SHOW FUNCTIONS; SHOW FUNCTIONS '^c.*'; diff --git a/ql/src/test/queries/clientpositive/show_indexes_edge_cases.q b/ql/src/test/queries/clientpositive/show_indexes_edge_cases.q index 9758c16..416917e 100644 --- a/ql/src/test/queries/clientpositive/show_indexes_edge_cases.q +++ b/ql/src/test/queries/clientpositive/show_indexes_edge_cases.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; DROP TABLE show_idx_empty; DROP TABLE show_idx_full; diff --git a/ql/src/test/queries/clientpositive/show_indexes_syntax.q b/ql/src/test/queries/clientpositive/show_indexes_syntax.q index bb43c5e..6099b2f 100644 --- a/ql/src/test/queries/clientpositive/show_indexes_syntax.q +++ b/ql/src/test/queries/clientpositive/show_indexes_syntax.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; DROP TABLE show_idx_t1; diff --git a/ql/src/test/queries/clientpositive/show_partitions.q b/ql/src/test/queries/clientpositive/show_partitions.q index 5b746e6..f8f8977 100644 --- a/ql/src/test/queries/clientpositive/show_partitions.q +++ b/ql/src/test/queries/clientpositive/show_partitions.q @@ -1,32 +1,66 @@ -SHOW PARTITIONS srcpart; -SHOW PARTITIONS default.srcpart; -SHOW PARTITIONS srcpart PARTITION(hr='11'); -SHOW PARTITIONS srcpart PARTITION(ds='2008-04-08'); -SHOW PARTITIONS srcpart PARTITION(ds='2008-04-08', hr='12'); +DROP TABLE IF EXISTS `s/c`; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -SHOW PARTITIONS default.srcpart; -SHOW PARTITIONS default.srcpart PARTITION(hr='11'); -SHOW PARTITIONS default.srcpart PARTITION(ds='2008-04-08'); -SHOW PARTITIONS default.srcpart PARTITION(ds='2008-04-08', hr='12'); +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +SHOW PARTITIONS `s/cpart`; +SHOW PARTITIONS default.`s/cpart`; +SHOW PARTITIONS `s/cpart` PARTITION(hr='11'); +SHOW PARTITIONS `s/cpart` PARTITION(ds='2008-04-08'); +SHOW PARTITIONS `s/cpart` PARTITION(ds='2008-04-08', hr='12'); + + +SHOW PARTITIONS default.`s/cpart`; +SHOW PARTITIONS default.`s/cpart` PARTITION(hr='11'); +SHOW PARTITIONS default.`s/cpart` PARTITION(ds='2008-04-08'); +SHOW PARTITIONS default.`s/cpart` PARTITION(ds='2008-04-08', hr='12'); CREATE DATABASE db1; USE db1; -CREATE TABLE srcpart (key1 INT, value1 STRING) PARTITIONED BY (ds STRING, hr STRING); -ALTER TABLE srcpart ADD PARTITION (ds='3', hr='3'); -ALTER TABLE srcpart ADD PARTITION (ds='4', hr='4'); -ALTER TABLE srcpart ADD PARTITION (ds='4', hr='5'); +CREATE TABLE `s/cpart` (key1 INT, value1 STRING) PARTITIONED BY (ds STRING, hr STRING); +ALTER TABLE `s/cpart` ADD PARTITION (ds='3', hr='3'); +ALTER TABLE `s/cpart` ADD PARTITION (ds='4', hr='4'); +ALTER TABLE `s/cpart` ADD PARTITION (ds='4', hr='5'); -- from db1 to default db -SHOW PARTITIONS default.srcpart PARTITION(hr='11'); -SHOW PARTITIONS default.srcpart PARTITION(ds='2008-04-08', hr='12'); +SHOW PARTITIONS default.`s/cpart` PARTITION(hr='11'); +SHOW PARTITIONS default.`s/cpart` PARTITION(ds='2008-04-08', hr='12'); -- from db1 to db1 -SHOW PARTITIONS srcpart PARTITION(ds='4'); -SHOW PARTITIONS srcpart PARTITION(ds='3', hr='3'); +SHOW PARTITIONS `s/cpart` PARTITION(ds='4'); +SHOW PARTITIONS `s/cpart` PARTITION(ds='3', hr='3'); use default; -- from default to db1 -SHOW PARTITIONS db1.srcpart PARTITION(ds='4'); -SHOW PARTITIONS db1.srcpart PARTITION(ds='3', hr='3'); \ No newline at end of file +SHOW PARTITIONS db1.`s/cpart` PARTITION(ds='4'); +SHOW PARTITIONS db1.`s/cpart` PARTITION(ds='3', hr='3'); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/show_roles.q b/ql/src/test/queries/clientpositive/show_roles.q index d8ce96a..baba7b4 100644 --- a/ql/src/test/queries/clientpositive/show_roles.q +++ b/ql/src/test/queries/clientpositive/show_roles.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create role role1; create role role2; diff --git a/ql/src/test/queries/clientpositive/show_tables.q b/ql/src/test/queries/clientpositive/show_tables.q index 447f9a8..e3e66a3 100644 --- a/ql/src/test/queries/clientpositive/show_tables.q +++ b/ql/src/test/queries/clientpositive/show_tables.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE shtb_test1(KEY STRING, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE; CREATE TABLE shtb_test2(KEY STRING, VALUE STRING) PARTITIONED BY(ds STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/show_tablestatus.q b/ql/src/test/queries/clientpositive/show_tablestatus.q index 55fb7b6..08d2ab9 100644 --- a/ql/src/test/queries/clientpositive/show_tablestatus.q +++ b/ql/src/test/queries/clientpositive/show_tablestatus.q @@ -1,21 +1,55 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=none; EXPLAIN -SHOW TABLE EXTENDED IN default LIKE `src`; +SHOW TABLE EXTENDED IN default LIKE ``s/c``; -SHOW TABLE EXTENDED IN default LIKE `src`; +SHOW TABLE EXTENDED IN default LIKE ``s/c``; -SHOW TABLE EXTENDED from default LIKE `src`; +SHOW TABLE EXTENDED from default LIKE ``s/c``; -SHOW TABLE EXTENDED LIKE `src`; +SHOW TABLE EXTENDED LIKE ``s/c``; -SHOW TABLE EXTENDED LIKE `src.?`; +SHOW TABLE EXTENDED LIKE ``s/c`.?`; -SHOW TABLE EXTENDED from default LIKE `src.?`; +SHOW TABLE EXTENDED from default LIKE ``s/c`.?`; SHOW TABLE EXTENDED LIKE `^s.*`; SHOW TABLE EXTENDED from default LIKE `^s.*`; -SHOW TABLE EXTENDED LIKE `srcpart` PARTITION(ds='2008-04-08', hr=11); +SHOW TABLE EXTENDED LIKE ``s/cpart`` PARTITION(ds='2008-04-08', hr=11); -SHOW TABLE EXTENDED from default LIKE src; \ No newline at end of file +SHOW TABLE EXTENDED from default LIKE `s/c`; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/show_tblproperties.q b/ql/src/test/queries/clientpositive/show_tblproperties.q index 8a3fee3..75979cf 100644 --- a/ql/src/test/queries/clientpositive/show_tblproperties.q +++ b/ql/src/test/queries/clientpositive/show_tblproperties.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tmpfoo (a String); show tblproperties tmpfoo("bar"); diff --git a/ql/src/test/queries/clientpositive/showparts.q b/ql/src/test/queries/clientpositive/showparts.q index dbee3ef..2c9a2c2 100644 --- a/ql/src/test/queries/clientpositive/showparts.q +++ b/ql/src/test/queries/clientpositive/showparts.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN -SHOW PARTITIONS srcpart; +SHOW PARTITIONS `s/cpart`; -SHOW PARTITIONS srcpart; +SHOW PARTITIONS `s/cpart`; diff --git a/ql/src/test/queries/clientpositive/skewjoin.q b/ql/src/test/queries/clientpositive/skewjoin.q index 5c8b326..ba0b592 100644 --- a/ql/src/test/queries/clientpositive/skewjoin.q +++ b/ql/src/test/queries/clientpositive/skewjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.skewjoin = true; set hive.skewjoin.key = 2; @@ -16,10 +50,10 @@ LOAD DATA LOCAL INPATH '../../data/files/T3.txt' INTO TABLE T3; LOAD DATA LOCAL INPATH '../../data/files/T1.txt' INTO TABLE T4; EXPLAIN -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; -FROM src src1 JOIN src src2 ON (src1.key = src2.key) +FROM `s/c` src1 JOIN `s/c` src2 ON (src1.key = src2.key) INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value; SELECT sum(hash(key)), sum(hash(value)) FROM dest_j1; @@ -46,56 +80,56 @@ FROM T1 a JOIN T2 b ON a.key = b.key JOIN T3 c ON b.key = c.key JOIN T4 d ON c.key = d.key; -EXPLAIN FROM T1 a JOIN src c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); -FROM T1 a JOIN src c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); +EXPLAIN FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); +FROM T1 a JOIN `s/c` c ON c.key+1=a.key SELECT /*+ STREAMTABLE(a) */ sum(hash(a.key)), sum(hash(a.val)), sum(hash(c.key)); EXPLAIN FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) SELECT sum(hash(Y.key)), sum(hash(Y.value)); FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key) SELECT sum(hash(Y.key)), sum(hash(Y.value)); EXPLAIN FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key and substring(x.value, 5)=substring(y.value, 5)+1) SELECT sum(hash(Y.key)), sum(hash(Y.value)); FROM -(SELECT src.* FROM src) x +(SELECT `s/c`.* FROM `s/c`) x JOIN -(SELECT src.* FROM src) Y +(SELECT `s/c`.* FROM `s/c`) Y ON (x.key = Y.key and substring(x.value, 5)=substring(y.value, 5)+1) SELECT sum(hash(Y.key)), sum(hash(Y.value)); EXPLAIN SELECT sum(hash(src1.c1)), sum(hash(src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; SELECT sum(hash(src1.c1)), sum(hash(src2.c4)) FROM -(SELECT src.key as c1, src.value as c2 from src) src1 +(SELECT `s/c`.key as c1, `s/c`.value as c2 from `s/c`) src1 JOIN -(SELECT src.key as c3, src.value as c4 from src) src2 +(SELECT `s/c`.key as c3, `s/c`.value as c4 from `s/c`) src2 ON src1.c1 = src2.c3 AND src1.c1 < 100 JOIN -(SELECT src.key as c5, src.value as c6 from src) src3 +(SELECT `s/c`.key as c5, `s/c`.value as c6 from `s/c`) src3 ON src1.c1 = src3.c5 AND src3.c5 < 80; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q index 3986060..79b9d8d 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q index 69070d4..93076ad 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q index d907f07..821d230 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q index 8cb774c..e5740f1 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q index be97bce..d32a5c1 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q index bad79cc..4a22e2f 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q index f7b6023..a149f2d 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q index a1134fe..74e7177 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q index 5b33b07..0c3c63c 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q index fc4f9ca..cf18f1f 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q b/ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q index 3b76c22..9ec789a 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q +++ b/ql/src/test/queries/clientpositive/skewjoin_mapjoin9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_noskew.q b/ql/src/test/queries/clientpositive/skewjoin_noskew.q index b8ca592..196f144 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_noskew.q +++ b/ql/src/test/queries/clientpositive/skewjoin_noskew.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=false; set hive.optimize.skewjoin=true; explain -create table noskew as select a.* from src a join src b on a.key=b.key order by a.key limit 30; +create table noskew as select a.* from `s/c` a join `s/c` b on a.key=b.key order by a.key limit 30; -create table noskew as select a.* from src a join src b on a.key=b.key order by a.key limit 30; +create table noskew as select a.* from `s/c` a join `s/c` b on a.key=b.key order by a.key limit 30; select * from noskew; diff --git a/ql/src/test/queries/clientpositive/skewjoin_union_remove_1.q b/ql/src/test/queries/clientpositive/skewjoin_union_remove_1.q index d4f8538..bab22bb 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_union_remove_1.q +++ b/ql/src/test/queries/clientpositive/skewjoin_union_remove_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.skewjoin.compiletime = true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/skewjoin_union_remove_2.q b/ql/src/test/queries/clientpositive/skewjoin_union_remove_2.q index f68137c..0f1349b 100644 --- a/ql/src/test/queries/clientpositive/skewjoin_union_remove_2.q +++ b/ql/src/test/queries/clientpositive/skewjoin_union_remove_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.skewjoin.compiletime = true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt1.q b/ql/src/test/queries/clientpositive/skewjoinopt1.q index 1f72a80..12cc92d 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt1.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt10.q b/ql/src/test/queries/clientpositive/skewjoinopt10.q index eba7f9a..625d42e 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt10.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt11.q b/ql/src/test/queries/clientpositive/skewjoinopt11.q index 6e54202..afffe65 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt11.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt12.q b/ql/src/test/queries/clientpositive/skewjoinopt12.q index edf19aa..96b5d92 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt12.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt13.q b/ql/src/test/queries/clientpositive/skewjoinopt13.q index 9511975..4f3660d 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt13.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt14.q b/ql/src/test/queries/clientpositive/skewjoinopt14.q index 1bb01b0..98cc400 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt14.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt15.q b/ql/src/test/queries/clientpositive/skewjoinopt15.q index 8aeabf5..a06a5e2 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt15.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt16.q b/ql/src/test/queries/clientpositive/skewjoinopt16.q index 18dc87f..6c35f31 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt16.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt17.q b/ql/src/test/queries/clientpositive/skewjoinopt17.q index a2f5c8a..ec8266f 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt17.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt18.q b/ql/src/test/queries/clientpositive/skewjoinopt18.q index 4999aaf..a3f5bf6 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt18.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt18.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt19.q b/ql/src/test/queries/clientpositive/skewjoinopt19.q index 94f4551..abfefe3 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt19.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt2.q b/ql/src/test/queries/clientpositive/skewjoinopt2.q index 867cc79..3193f58 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt2.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt20.q b/ql/src/test/queries/clientpositive/skewjoinopt20.q index cc21d7b..72c58ae 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt20.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt3.q b/ql/src/test/queries/clientpositive/skewjoinopt3.q index 889f289..2faf55c 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt3.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt4.q b/ql/src/test/queries/clientpositive/skewjoinopt4.q index 7e1303e..d87ac44 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt4.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt5.q b/ql/src/test/queries/clientpositive/skewjoinopt5.q index 75d8e92..8d4e598 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt5.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt6.q b/ql/src/test/queries/clientpositive/skewjoinopt6.q index 5a7580e..cd1ea86 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt6.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt7.q b/ql/src/test/queries/clientpositive/skewjoinopt7.q index b9a4c49..ea9fe30 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt7.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt8.q b/ql/src/test/queries/clientpositive/skewjoinopt8.q index e8d98ad..7c81887 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt8.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/skewjoinopt9.q b/ql/src/test/queries/clientpositive/skewjoinopt9.q index b5d06a3..8539d8b 100644 --- a/ql/src/test/queries/clientpositive/skewjoinopt9.q +++ b/ql/src/test/queries/clientpositive/skewjoinopt9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.optimize.skewjoin.compiletime = true; diff --git a/ql/src/test/queries/clientpositive/smb_join_partition_key.q b/ql/src/test/queries/clientpositive/smb_join_partition_key.q index 49e2d2f..6422cd8 100644 --- a/ql/src/test/queries/clientpositive/smb_join_partition_key.q +++ b/ql/src/test/queries/clientpositive/smb_join_partition_key.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.execution.engine=mr; SET hive.enforce.sortmergebucketmapjoin=false; SET hive.auto.convert.sortmerge.join=true; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin9.q b/ql/src/test/queries/clientpositive/smb_mapjoin9.q index b959022..12beedd 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin9.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table hive_test_smb_bucket1 (key int, value string) partitioned by (ds string) clustered by (key) sorted by (key) into 2 buckets; create table hive_test_smb_bucket2 (key int, value string) partitioned by (ds string) clustered by (key) sorted by (key) into 2 buckets; @@ -33,8 +67,8 @@ set hive.enforce.sorting = true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.exec.reducers.max = 1; -insert overwrite table hive_test_smb_bucket1 partition (ds='2010-10-15') select key, value from src; -insert overwrite table hive_test_smb_bucket2 partition (ds='2010-10-15') select key, value from src; +insert overwrite table hive_test_smb_bucket1 partition (ds='2010-10-15') select key, value from `s/c`; +insert overwrite table hive_test_smb_bucket2 partition (ds='2010-10-15') select key, value from `s/c`; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_1.q b/ql/src/test/queries/clientpositive/smb_mapjoin_1.q index 4f913e7..7d8b9d0 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_1.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_10.q b/ql/src/test/queries/clientpositive/smb_mapjoin_10.q index 1fbe209..b2fba8e 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_10.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table tmp_smb_bucket_10(userid int, pageid int, postid int, type string) partitioned by (ds string) CLUSTERED BY (userid) SORTED BY (pageid, postid, type, userid) INTO 2 BUCKETS STORED AS RCFILE; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_11.q b/ql/src/test/queries/clientpositive/smb_mapjoin_11.q index 9300638..5b78d72 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_11.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -13,7 +47,7 @@ set hive.merge.mapredfiles=false; CREATE TABLE test_table1 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT *; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_12.q b/ql/src/test/queries/clientpositive/smb_mapjoin_12.q index 9f9748c..a3e3ff0 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_12.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -13,7 +47,7 @@ set hive.merge.mapredfiles=false; CREATE TABLE test_table1 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT * INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '1') SELECT * INSERT OVERWRITE TABLE test_table2 PARTITION (ds = '2') SELECT * diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_13.q b/ql/src/test/queries/clientpositive/smb_mapjoin_13.q index 056bccd..bc82c8a 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_13.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -15,7 +49,7 @@ CREATE TABLE test_table2 (value INT, key STRING) CLUSTERED BY (value) SORTED BY CREATE TABLE test_table3 (key INT, value STRING) CLUSTERED BY (key, value) SORTED BY (key ASC, value ASC) INTO 16 BUCKETS; CREATE TABLE test_table4 (key INT, value STRING) CLUSTERED BY (key, value) SORTED BY (value ASC, key ASC) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT * INSERT OVERWRITE TABLE test_table2 SELECT * INSERT OVERWRITE TABLE test_table3 SELECT * diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_14.q b/ql/src/test/queries/clientpositive/smb_mapjoin_14.q index f03f92e..98faae9 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_14.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -6,10 +40,10 @@ CREATE TABLE tbl1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO CREATE TABLE tbl2(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; insert overwrite table tbl1 -select * from src where key < 10; +select * from `s/c` where key < 10; insert overwrite table tbl2 -select * from src where key < 10; +select * from `s/c` where key < 10; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_15.q b/ql/src/test/queries/clientpositive/smb_mapjoin_15.q index 1e77a60..4edb293 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_15.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -14,7 +48,7 @@ set hive.merge.mapredfiles=false; CREATE TABLE test_table1 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key ASC, value ASC) INTO 16 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key ASC, value ASC) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT * INSERT OVERWRITE TABLE test_table2 SELECT *; @@ -30,7 +64,7 @@ DROP TABLE test_table2; CREATE TABLE test_table1 (key INT, key2 INT, value STRING) CLUSTERED BY (key) SORTED BY (key ASC, key2 ASC, value ASC) INTO 16 BUCKETS; CREATE TABLE test_table2 (key INT, key2 INT, value STRING) CLUSTERED BY (key) SORTED BY (key ASC, key2 ASC, value ASC) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT key, key, value INSERT OVERWRITE TABLE test_table2 SELECT key, key, value; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_16.q b/ql/src/test/queries/clientpositive/smb_mapjoin_16.q index 3a3a872..70f355f 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_16.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -11,7 +45,7 @@ set hive.merge.mapredfiles=false; CREATE TABLE test_table1 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT * INSERT OVERWRITE TABLE test_table2 SELECT *; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_17.q b/ql/src/test/queries/clientpositive/smb_mapjoin_17.q index 238f7e0..99256b7 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_17.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; @@ -18,28 +52,28 @@ CREATE TABLE test_table7 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (k CREATE TABLE test_table8 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; INSERT OVERWRITE TABLE test_table1 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table2 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table3 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table4 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table5 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table6 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table7 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; INSERT OVERWRITE TABLE test_table8 -SELECT * FROM src WHERE key < 10; +SELECT * FROM `s/c` WHERE key < 10; -- Mapjoin followed by a aggregation should be performed in a single MR job upto 7 tables EXPLAIN diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_18.q b/ql/src/test/queries/clientpositive/smb_mapjoin_18.q index 02e3fb5..73dce14 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_18.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_18.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -12,7 +46,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_19.q b/ql/src/test/queries/clientpositive/smb_mapjoin_19.q index ca48f61..58c855b 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_19.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -12,7 +46,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 16 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_2.q b/ql/src/test/queries/clientpositive/smb_mapjoin_2.q index 5e729d9..5dc7fb3 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_2.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_20.q b/ql/src/test/queries/clientpositive/smb_mapjoin_20.q index f70e7d5..5bacf55 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_20.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -12,7 +46,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key STRING, value1 STRING, value2 string) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_21.q b/ql/src/test/queries/clientpositive/smb_mapjoin_21.q index 09edfc1..9c1b3c6 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_21.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_21.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -12,7 +46,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) PARTITIONED BY (ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 PARTITION (ds = '1') SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_22.q b/ql/src/test/queries/clientpositive/smb_mapjoin_22.q index 676f46a..a82ac80 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_22.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_22.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; set hive.enforce.bucketing=true; @@ -12,7 +46,7 @@ CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table @@ -37,7 +71,7 @@ CLUSTERED BY (key) INTO 2 BUCKETS; CREATE TABLE test_table2 (key INT, value STRING) CLUSTERED BY (key) INTO 2 BUCKETS; -FROM src +FROM `s/c` INSERT OVERWRITE TABLE test_table1 SELECT *; -- Insert data into the bucketed table by selecting from another bucketed table diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_25.q b/ql/src/test/queries/clientpositive/smb_mapjoin_25.q index 683341b..a723690 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_25.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_25.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing=true; set hive.enforce.sorting=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -28,7 +62,7 @@ set hive.optimize.reducededuplication.min.reducer=1; set hive.auto.convert.sortmerge.join.bigtable.selection.policy=org.apache.hadoop.hive.ql.optimizer.LeftmostBigTableSelectorForAutoSMJ; -- explain --- select * from smb_bucket_1 a left outer join smb_bucket_2 b on a.key = b.key left outer join src c on a.key=c.value +-- select * from smb_bucket_1 a left outer join smb_bucket_2 b on a.key = b.key left outer join `s/c` c on a.key=c.value -- select a.key from smb_bucket_1 a diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_3.q b/ql/src/test/queries/clientpositive/smb_mapjoin_3.q index 549eb85..ee91db2 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_3.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_4.q b/ql/src/test/queries/clientpositive/smb_mapjoin_4.q index e9d28ba..9144b54 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_4.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_5.q b/ql/src/test/queries/clientpositive/smb_mapjoin_5.q index 5b6eeb8..b6d8b48 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_5.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_6.q b/ql/src/test/queries/clientpositive/smb_mapjoin_6.q index 2884a11..24e2a26 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_6.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -12,10 +46,10 @@ create table smb_join_results(k1 int, v1 string, k2 int, v2 string); create table normal_join_results(k1 int, v1 string, k2 int, v2 string); insert overwrite table smb_bucket4_1 -select * from src; +select * from `s/c`; insert overwrite table smb_bucket4_2 -select * from src; +select * from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_7.q b/ql/src/test/queries/clientpositive/smb_mapjoin_7.q index ca1c749..bf94ce4 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_7.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing = true; set hive.enforce.sorting = true; set hive.exec.reducers.max = 1; @@ -19,7 +53,7 @@ load data local inpath '../../data/files/empty1.txt' into table smb_bucket4_1; load data local inpath '../../data/files/empty2.txt' into table smb_bucket4_1; insert overwrite table smb_bucket4_2 -select * from src; +select * from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/smb_mapjoin_8.q b/ql/src/test/queries/clientpositive/smb_mapjoin_8.q index 4b4e167..3b01c51 100644 --- a/ql/src/test/queries/clientpositive/smb_mapjoin_8.q +++ b/ql/src/test/queries/clientpositive/smb_mapjoin_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.enforce.bucketing = true; set hive.enforce.sorting = true; diff --git a/ql/src/test/queries/clientpositive/sort.q b/ql/src/test/queries/clientpositive/sort.q index e46d787..c529f4d 100644 --- a/ql/src/test/queries/clientpositive/sort.q +++ b/ql/src/test/queries/clientpositive/sort.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN -SELECT x.* FROM SRC x SORT BY key; +SELECT x.* FROM `s/c` x SORT BY key; -SELECT x.* FROM SRC x SORT BY key; +SELECT x.* FROM `s/c` x SORT BY key; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_1.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_1.q index 8002ec5..828b188 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_1.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_desc1; drop table table_desc2; @@ -6,8 +40,8 @@ set hive.enforce.sorting = true; create table table_desc1(key string, value string) clustered by (key) sorted by (key DESC) into 1 BUCKETS; create table table_desc2(key string, value string) clustered by (key) sorted by (key DESC) into 1 BUCKETS; -insert overwrite table table_desc1 select key, value from src; -insert overwrite table table_desc2 select key, value from src; +insert overwrite table table_desc1 select key, value from `s/c`; +insert overwrite table table_desc2 select key, value from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_2.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_2.q index bd0cdb2..f23ba3c 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_2.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_desc1; drop table table_desc2; @@ -8,8 +42,8 @@ sorted by (key DESC, value DESC) into 1 BUCKETS; create table table_desc2(key string, value string) clustered by (key, value) sorted by (key DESC, value DESC) into 1 BUCKETS; -insert overwrite table table_desc1 select key, value from src; -insert overwrite table table_desc2 select key, value from src; +insert overwrite table table_desc1 select key, value from `s/c`; +insert overwrite table table_desc2 select key, value from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_3.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_3.q index a109878..1d10055 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_3.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_desc1; drop table table_desc2; @@ -8,8 +42,8 @@ sorted by (key DESC, value ASC) into 1 BUCKETS; create table table_desc2(key string, value string) clustered by (key, value) sorted by (key DESC, value ASC) into 1 BUCKETS; -insert overwrite table table_desc1 select key, value from src; -insert overwrite table table_desc2 select key, value from src; +insert overwrite table table_desc1 select key, value from `s/c`; +insert overwrite table table_desc2 select key, value from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_4.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_4.q index 0bc5071..a6e7229 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_4.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_desc1; drop table table_desc2; @@ -8,8 +42,8 @@ sorted by (key DESC, value ASC) into 1 BUCKETS; create table table_desc2(key string, value string) clustered by (key, value) sorted by (key DESC, value DESC) into 1 BUCKETS; -insert overwrite table table_desc1 select key, value from src; -insert overwrite table table_desc2 select key, value from src; +insert overwrite table table_desc1 select key, value from `s/c`; +insert overwrite table table_desc2 select key, value from `s/c`; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_5.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_5.q index 3505db0..2f36366 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_5.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_5.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing=true; set hive.enforce.sorting=true; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key) SORTED BY (key DESC) INTO 1 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM `s/c`; CREATE TABLE srcbucket_mapjoin_part_2 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key) SORTED BY (key DESC) INTO 1 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_2 CLUSTERED BY (key) SORTED BY (value DESC) INTO 1 BUCKETS; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_6.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_6.q index 35b0535..e9a5c60 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_6.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_6.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing=true; set hive.enforce.sorting=true; set hive.exec.reducers.max = 1; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key) SORTED BY (key DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM `s/c`; CREATE TABLE srcbucket_mapjoin_part_2 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key) SORTED BY (value DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_2 CLUSTERED BY (key) SORTED BY (key DESC) INTO 2 BUCKETS; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_7.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_7.q index 65dc7f1..78c36dd 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_7.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_7.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.enforce.bucketing=true; set hive.enforce.sorting=true; set hive.exec.reducers.max = 1; CREATE TABLE srcbucket_mapjoin_part_1 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key, value) SORTED BY (key DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='1') SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_1 CLUSTERED BY (key, value) SORTED BY (value DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='2') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_1 PARTITION (part='2') SELECT * FROM `s/c`; CREATE TABLE srcbucket_mapjoin_part_2 (key INT, value STRING) PARTITIONED BY (part STRING) CLUSTERED BY (key, value) SORTED BY (value DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='1') SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_2 CLUSTERED BY (key, value) SORTED BY (key DESC) INTO 2 BUCKETS; -INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='2') SELECT * FROM src; +INSERT OVERWRITE TABLE srcbucket_mapjoin_part_2 PARTITION (part='2') SELECT * FROM `s/c`; ALTER TABLE srcbucket_mapjoin_part_2 CLUSTERED BY (key, value) SORTED BY (value DESC) INTO 2 BUCKETS; diff --git a/ql/src/test/queries/clientpositive/sort_merge_join_desc_8.q b/ql/src/test/queries/clientpositive/sort_merge_join_desc_8.q index 2ec0849..7bc9816 100644 --- a/ql/src/test/queries/clientpositive/sort_merge_join_desc_8.q +++ b/ql/src/test/queries/clientpositive/sort_merge_join_desc_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table table_desc1; drop table table_desc2; drop table table_desc3; @@ -14,10 +48,10 @@ sorted by (key DESC, value1 DESC,value2 DESC) into 1 BUCKETS; create table table_desc4(key string, value2 string) clustered by (key) sorted by (key DESC, value2 DESC) into 1 BUCKETS; -insert overwrite table table_desc1 select key, value from src sort by key DESC; -insert overwrite table table_desc2 select key, value from src sort by key DESC; -insert overwrite table table_desc3 select key, value, concat(value,"_2") as value2 from src sort by key, value, value2 DESC; -insert overwrite table table_desc4 select key, concat(value,"_2") as value2 from src sort by key, value2 DESC; +insert overwrite table table_desc1 select key, value from `s/c` sort by key DESC; +insert overwrite table table_desc2 select key, value from `s/c` sort by key DESC; +insert overwrite table table_desc3 select key, value, concat(value,"_2") as value2 from `s/c` sort by key, value, value2 DESC; +insert overwrite table table_desc4 select key, concat(value,"_2") as value2 from `s/c` sort by key, value2 DESC; set hive.optimize.bucketmapjoin = true; set hive.optimize.bucketmapjoin.sortedmerge = true; diff --git a/ql/src/test/queries/clientpositive/source.q b/ql/src/test/queries/clientpositive/source.q index fd990e6..a698787 100644 --- a/ql/src/test/queries/clientpositive/source.q +++ b/ql/src/test/queries/clientpositive/source.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + source ../../data/files/source.txt; source ${system:test.data.dir}/source.txt; diff --git a/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning.q b/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning.q index 8b83ef6..1c9f72b 100644 --- a/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning.q +++ b/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.sql11.reserved.keywords=false; set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; @@ -7,170 +41,170 @@ set hive.optimize.index.filter=true; -- SORT_QUERY_RESULTS -select distinct ds from srcpart; -select distinct hr from srcpart; +select distinct ds from `s/cpart`; +select distinct hr from `s/cpart`; -EXPLAIN create table srcpart_date as select ds as ds, ds as date from srcpart group by ds; -create table srcpart_date as select ds as ds, ds as date from srcpart group by ds; -create table srcpart_hour as select hr as hr, hr as hour from srcpart group by hr; -create table srcpart_date_hour as select ds as ds, ds as date, hr as hr, hr as hour from srcpart group by ds, hr; -create table srcpart_double_hour as select (hr*2) as hr, hr as hour from srcpart group by hr; +EXPLAIN create table srcpart_date as select ds as ds, ds as date from `s/cpart` group by ds; +create table srcpart_date as select ds as ds, ds as date from `s/cpart` group by ds; +create table srcpart_hour as select hr as hr, hr as hour from `s/cpart` group by hr; +create table srcpart_date_hour as select ds as ds, ds as date, hr as hr, hr as hour from `s/cpart` group by ds, hr; +create table srcpart_double_hour as select (hr*2) as hr, hr as hour from `s/cpart` group by hr; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = 'I DONT EXIST'; +select count(*) from `s/cpart` where ds = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where cast(hr as string) = 11; +select count(*) from `s/cpart` where cast(hr as string) = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as date from srcpart group by ds) s on (srcpart.ds = s.ds) where s.date = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as date from srcpart group by ds) s on (srcpart.ds = s.ds) where s.date = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as date from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.date = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as date from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.date = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- non-equi join -EXPLAIN select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); -select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); +select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); -- old style join syntax -EXPLAIN select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; -select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; +select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart.hr = 13; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and `s/cpart`.hr = 13; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask = true; set hive.auto.convert.join.noconditionaltask.size = 10000000; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.date = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as date from srcpart group by ds) s on (srcpart.ds = s.ds) where s.date = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as date from srcpart group by ds) s on (srcpart.ds = s.ds) where s.date = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as date from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.date = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as date from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.date = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.date = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.date = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.date = '2008-04-08' and `s/cpart`.hr = 13; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) --- where srcpart_date.date = '2008-04-08' and srcpart.hr = 13; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +-- where srcpart_date.date = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); drop table srcpart_orc; diff --git a/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning_2.q b/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning_2.q index 734f187..c6a39c9 100644 --- a/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning_2.q +++ b/ql/src/test/queries/clientpositive/spark_dynamic_partition_pruning_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; set hive.spark.dynamic.partition.pruning=true; diff --git a/ql/src/test/queries/clientpositive/spark_vectorized_dynamic_partition_pruning.q b/ql/src/test/queries/clientpositive/spark_vectorized_dynamic_partition_pruning.q index 293fcfc..8fc79f7 100644 --- a/ql/src/test/queries/clientpositive/spark_vectorized_dynamic_partition_pruning.q +++ b/ql/src/test/queries/clientpositive/spark_vectorized_dynamic_partition_pruning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; set hive.spark.dynamic.partition.pruning=true; @@ -6,170 +40,170 @@ set hive.optimize.index.filter=true; set hive.vectorized.execution.enabled=true; -select distinct ds from srcpart; -select distinct hr from srcpart; +select distinct ds from `s/cpart`; +select distinct hr from `s/cpart`; -EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_date stored as orc as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_hour stored as orc as select hr as hr, hr as hour from srcpart group by hr; -create table srcpart_date_hour stored as orc as select ds as ds, ds as `date`, hr as hr, hr as hour from srcpart group by ds, hr; -create table srcpart_double_hour stored as orc as select (hr*2) as hr, hr as hour from srcpart group by hr; +EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_date stored as orc as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_hour stored as orc as select hr as hr, hr as hour from `s/cpart` group by hr; +create table srcpart_date_hour stored as orc as select ds as ds, ds as `date`, hr as hr, hr as hour from `s/cpart` group by ds, hr; +create table srcpart_double_hour stored as orc as select (hr*2) as hr, hr as hour from `s/cpart` group by hr; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = 'I DONT EXIST'; +select count(*) from `s/cpart` where ds = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; set hive.spark.dynamic.partition.pruning=true; -select count(*) from srcpart where cast(hr as string) = 11; +select count(*) from `s/cpart` where cast(hr as string) = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- non-equi join -EXPLAIN select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); -select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); +select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); -- old style join syntax -EXPLAIN select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; -select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; +select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask = true; set hive.auto.convert.join.noconditionaltask.size = 10000000; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) --- where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +-- where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); -- different file format @@ -180,10 +214,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.vectorized.execution.enabled=false; set hive.exec.max.dynamic.partitions=1000; -insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from srcpart; +insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from `s/cpart`; EXPLAIN select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); -select count(*) from srcpart where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; +select count(*) from `s/cpart` where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; drop table srcpart_orc; drop table srcpart_date; diff --git a/ql/src/test/queries/clientpositive/split.q b/ql/src/test/queries/clientpositive/split.q index f5d7ff8..292133b 100644 --- a/ql/src/test/queries/clientpositive/split.q +++ b/ql/src/test/queries/clientpositive/split.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE tmp_jo_tab_test; CREATE table tmp_jo_tab_test (message_line STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/stats0.q b/ql/src/test/queries/clientpositive/stats0.q index 48b5c52..beb299e 100644 --- a/ql/src/test/queries/clientpositive/stats0.q +++ b/ql/src/test/queries/clientpositive/stats0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=true; set datanucleus.cache.collections=false; @@ -8,10 +42,10 @@ CREATE TABLE stats_non_partitioned (key string, value string); explain extended insert overwrite table stats_non_partitioned -select * from src; +select * from `s/c`; insert overwrite table stats_non_partitioned -select * from src; +select * from `s/c`; desc extended stats_non_partitioned; @@ -22,10 +56,10 @@ CREATE TABLE stats_partitioned(key string, value string) partitioned by (ds stri explain insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; show partitions stats_partitioned; select * from stats_partitioned where ds is not null; @@ -44,10 +78,10 @@ CREATE TABLE stats_non_partitioned (key string, value string); explain extended insert overwrite table stats_non_partitioned -select * from src; +select * from `s/c`; insert overwrite table stats_non_partitioned -select * from src; +select * from `s/c`; desc extended stats_non_partitioned; @@ -58,10 +92,10 @@ CREATE TABLE stats_partitioned(key string, value string) partitioned by (ds stri explain insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; show partitions stats_partitioned; select * from stats_partitioned where ds is not null; diff --git a/ql/src/test/queries/clientpositive/stats1.q b/ql/src/test/queries/clientpositive/stats1.q index dd35608..14d2c91 100644 --- a/ql/src/test/queries/clientpositive/stats1.q +++ b/ql/src/test/queries/clientpositive/stats1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; set hive.merge.mapfiles=false; @@ -11,13 +45,13 @@ create table tmptable(key string, value string); EXPLAIN INSERT OVERWRITE TABLE tmptable SELECT unionsrc.key, unionsrc.value -FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM src s1 +FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM `s/c` s1 UNION ALL SELECT s2.key AS key, s2.value AS value FROM src1 s2) unionsrc; INSERT OVERWRITE TABLE tmptable SELECT unionsrc.key, unionsrc.value -FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM src s1 +FROM (SELECT 'tst1' AS key, cast(count(1) AS string) AS value FROM `s/c` s1 UNION ALL SELECT s2.key AS key, s2.value AS value FROM src1 s2) unionsrc; diff --git a/ql/src/test/queries/clientpositive/stats10.q b/ql/src/test/queries/clientpositive/stats10.q index a3f375e..395190c 100644 --- a/ql/src/test/queries/clientpositive/stats10.q +++ b/ql/src/test/queries/clientpositive/stats10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; set hive.enforce.bucketing = true; @@ -7,16 +41,16 @@ CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTER explain insert overwrite table bucket3_1 partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table bucket3_1 partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table bucket3_1 partition (ds='1') -select * from src; +select * from `s/c`; insert overwrite table bucket3_1 partition (ds='2') -select * from src; +select * from `s/c`; select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key; diff --git a/ql/src/test/queries/clientpositive/stats11.q b/ql/src/test/queries/clientpositive/stats11.q index d037c00..670427c 100644 --- a/ql/src/test/queries/clientpositive/stats11.q +++ b/ql/src/test/queries/clientpositive/stats11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; diff --git a/ql/src/test/queries/clientpositive/stats12.q b/ql/src/test/queries/clientpositive/stats12.q index c1db346..c20bb21 100644 --- a/ql/src/test/queries/clientpositive/stats12.q +++ b/ql/src/test/queries/clientpositive/stats12.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; explain extended analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr) compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats13.q b/ql/src/test/queries/clientpositive/stats13.q index beb7bfa..a34c5b2 100644 --- a/ql/src/test/queries/clientpositive/stats13.q +++ b/ql/src/test/queries/clientpositive/stats13.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; explain extended analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats14.q b/ql/src/test/queries/clientpositive/stats14.q index 8e74df5..1f2b820 100644 --- a/ql/src/test/queries/clientpositive/stats14.q +++ b/ql/src/test/queries/clientpositive/stats14.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; -create table stats_src like src; -insert overwrite table stats_src select * from src; +create table stats_src like `s/c`; +insert overwrite table stats_src select * from `s/c`; analyze table stats_src compute statistics; desc formatted stats_src; -create table stats_part like srcpart; +create table stats_part like `s/cpart`; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '11') select key, value from src; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '12') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '11') select key, value from `s/c`; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '12') select key, value from `s/c`; analyze table stats_part partition(ds='2010-04-08', hr='11') compute statistics; analyze table stats_part partition(ds='2010-04-08', hr='12') compute statistics; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; desc formatted stats_part; desc formatted stats_part partition (ds='2010-04-08', hr = '11'); diff --git a/ql/src/test/queries/clientpositive/stats15.q b/ql/src/test/queries/clientpositive/stats15.q index 7dffa9c..9a76859 100644 --- a/ql/src/test/queries/clientpositive/stats15.q +++ b/ql/src/test/queries/clientpositive/stats15.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.collect.rawdatasize=false; -create table stats_src like src; -insert overwrite table stats_src select * from src; +create table stats_src like `s/c`; +insert overwrite table stats_src select * from `s/c`; analyze table stats_src compute statistics; desc formatted stats_src; -create table stats_part like srcpart; +create table stats_part like `s/cpart`; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '11') select key, value from src; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '12') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '11') select key, value from `s/c`; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '12') select key, value from `s/c`; analyze table stats_part partition(ds='2010-04-08', hr='11') compute statistics; analyze table stats_part partition(ds='2010-04-08', hr='12') compute statistics; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; desc formatted stats_part; desc formatted stats_part partition (ds='2010-04-08', hr = '11'); diff --git a/ql/src/test/queries/clientpositive/stats16.q b/ql/src/test/queries/clientpositive/stats16.q index 0557ce6..b775340 100644 --- a/ql/src/test/queries/clientpositive/stats16.q +++ b/ql/src/test/queries/clientpositive/stats16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; drop table stats16; @@ -5,7 +39,7 @@ drop table stats16; create table stats16 (key int, value string); desc formatted stats16; -insert into table stats16 select * from src; +insert into table stats16 select * from `s/c`; analyze table stats16 compute statistics; desc formatted stats16; diff --git a/ql/src/test/queries/clientpositive/stats18.q b/ql/src/test/queries/clientpositive/stats18.q index e773cd7..8618755 100644 --- a/ql/src/test/queries/clientpositive/stats18.q +++ b/ql/src/test/queries/clientpositive/stats18.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; set hive.merge.mapfiles=false; set hive.merge.mapredfiles=false; set hive.map.aggr=true; -create table stats_part like srcpart; +create table stats_part like `s/cpart`; -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; -- Load a file into a existing partition -- Some stats (numFiles, totalSize) should be updated correctly diff --git a/ql/src/test/queries/clientpositive/stats19.q b/ql/src/test/queries/clientpositive/stats19.q index ccdad6b..50cd80d 100644 --- a/ql/src/test/queries/clientpositive/stats19.q +++ b/ql/src/test/queries/clientpositive/stats19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; set hive.stats.reliable=true; @@ -10,22 +44,22 @@ set hive.stats.default.aggregator=org.apache.hadoop.hive.ql.stats.KeyVerifyingSt -- length of the keyPrefix, having a partition name greather than 16 characters guarantees no false -- positives. -create table stats_part like srcpart; +create table stats_part like `s/cpart`; set hive.stats.key.prefix.max.length=0; -- The stats key should be hashed since the max length is too small -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; set hive.stats.key.prefix.max.length=4000; -- The stats key should not be hashed since the max length is large enough -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; set hive.stats.key.prefix.max.length=-1; -- The stats key should not be hashed since negative values should imply hashing is turned off -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; set hive.stats.dbclass=jdbc:derby; set hive.stats.default.publisher=; @@ -37,21 +71,21 @@ set hive.stats.key.prefix.max.length=0; -- is hashing as well where appropriate -- The stats key should be hashed since the max length is too small -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); set hive.stats.key.prefix.max.length=4000; -- The stats key should not be hashed since the max length is large enough -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); set hive.stats.key.prefix.max.length=-1; -- The stats key should not be hashed since negative values should imply hashing is turned off -insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr = '13') select key, value from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); @@ -64,17 +98,17 @@ set hive.stats.key.prefix.max.length=0; -- Do the same for dynamic partitions -- The stats key should be hashed since the max length is too small -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; set hive.stats.key.prefix.max.length=4000; -- The stats key should not be hashed since the max length is large enough -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; set hive.stats.key.prefix.max.length=-1; -- The stats key should not be hashed since negative values should imply hashing is turned off -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; set hive.stats.dbclass=jdbc:derby; set hive.stats.default.publisher=; @@ -86,20 +120,20 @@ set hive.stats.key.prefix.max.length=0; -- is hashing as well where appropriate -- The stats key should be hashed since the max length is too small -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); set hive.stats.key.prefix.max.length=200; -- The stats key should not be hashed since the max length is large enough -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); set hive.stats.key.prefix.max.length=-1; -- The stats key should not be hashed since negative values should imply hashing is turned off -insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from src; +insert overwrite table stats_part partition (ds='2010-04-08', hr) select key, value, '13' from `s/c`; desc formatted stats_part partition (ds='2010-04-08', hr = '13'); diff --git a/ql/src/test/queries/clientpositive/stats2.q b/ql/src/test/queries/clientpositive/stats2.q index d6bb258..49aa0b1 100644 --- a/ql/src/test/queries/clientpositive/stats2.q +++ b/ql/src/test/queries/clientpositive/stats2.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; set hive.merge.mapfiles=false; -create table analyze_t1 like srcpart; +create table analyze_t1 like `s/cpart`; explain -insert overwrite table analyze_t1 partition (ds, hr) select * from srcpart where ds is not null; +insert overwrite table analyze_t1 partition (ds, hr) select * from `s/cpart` where ds is not null; -insert overwrite table analyze_t1 partition (ds, hr) select * from srcpart where ds is not null; +insert overwrite table analyze_t1 partition (ds, hr) select * from `s/cpart` where ds is not null; desc formatted analyze_t1; diff --git a/ql/src/test/queries/clientpositive/stats20.q b/ql/src/test/queries/clientpositive/stats20.q index 59701bd..15116fb 100644 --- a/ql/src/test/queries/clientpositive/stats20.q +++ b/ql/src/test/queries/clientpositive/stats20.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=true; set datanucleus.cache.collections=false; set hive.stats.collect.rawdatasize=true; CREATE TABLE stats_partitioned(key string, value string) partitioned by (ds string); insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; -- rawDataSize is 5312 after config is turned on describe formatted stats_partitioned; set hive.stats.collect.rawdatasize=false; insert overwrite table stats_partitioned partition (ds='1') -select * from src; +select * from `s/c`; -- rawDataSize is 0 after config is turned off describe formatted stats_partitioned; diff --git a/ql/src/test/queries/clientpositive/stats3.q b/ql/src/test/queries/clientpositive/stats3.q index fd7e0ea..9697e11 100644 --- a/ql/src/test/queries/clientpositive/stats3.q +++ b/ql/src/test/queries/clientpositive/stats3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; drop table hive_test_src; diff --git a/ql/src/test/queries/clientpositive/stats4.q b/ql/src/test/queries/clientpositive/stats4.q index 77a83c6..35518af 100644 --- a/ql/src/test/queries/clientpositive/stats4.q +++ b/ql/src/test/queries/clientpositive/stats4.q @@ -1,25 +1,59 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=true; -- SORT_AND_HASH_QUERY_RESULTS -show partitions srcpart; +show partitions `s/cpart`; drop table nzhang_part1; drop table nzhang_part2; -create table if not exists nzhang_part1 like srcpart; -create table if not exists nzhang_part2 like srcpart; +create table if not exists nzhang_part1 like `s/cpart`; +create table if not exists nzhang_part2 like `s/cpart`; set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; explain -from srcpart +from `s/cpart` insert overwrite table nzhang_part1 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part2 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; -from srcpart +from `s/cpart` insert overwrite table nzhang_part1 partition (ds, hr) select key, value, ds, hr where ds <= '2008-04-08' insert overwrite table nzhang_part2 partition(ds='2008-12-31', hr) select key, value, hr where ds > '2008-04-08'; diff --git a/ql/src/test/queries/clientpositive/stats5.q b/ql/src/test/queries/clientpositive/stats5.q index 6b5d138..e14c7d9 100644 --- a/ql/src/test/queries/clientpositive/stats5.q +++ b/ql/src/test/queries/clientpositive/stats5.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; -create table analyze_src as select * from src; +create table analyze_src as select * from `s/c`; explain analyze table analyze_src compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats6.q b/ql/src/test/queries/clientpositive/stats6.q index bef6e88..cb5b78a 100644 --- a/ql/src/test/queries/clientpositive/stats6.q +++ b/ql/src/test/queries/clientpositive/stats6.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics; analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=12) compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats7.q b/ql/src/test/queries/clientpositive/stats7.q index 19d0e14..4a76887 100644 --- a/ql/src/test/queries/clientpositive/stats7.q +++ b/ql/src/test/queries/clientpositive/stats7.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; explain analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr) compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats8.q b/ql/src/test/queries/clientpositive/stats8.q index 46002ca..6f4ab4a 100644 --- a/ql/src/test/queries/clientpositive/stats8.q +++ b/ql/src/test/queries/clientpositive/stats8.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; explain analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics; analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics; diff --git a/ql/src/test/queries/clientpositive/stats9.q b/ql/src/test/queries/clientpositive/stats9.q index 48b2044..f70ba6e 100644 --- a/ql/src/test/queries/clientpositive/stats9.q +++ b/ql/src/test/queries/clientpositive/stats9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; diff --git a/ql/src/test/queries/clientpositive/stats_aggregator_error_1.q b/ql/src/test/queries/clientpositive/stats_aggregator_error_1.q index 5e6b0aa..338e4b0 100644 --- a/ql/src/test/queries/clientpositive/stats_aggregator_error_1.q +++ b/ql/src/test/queries/clientpositive/stats_aggregator_error_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- In this test, there is a dummy stats aggregator which throws an error when various -- methods are called (as indicated by the parameter hive.test.dummystats.aggregator) -- Since stats need not be reliable (by setting hive.stats.reliable to false), the @@ -13,17 +47,17 @@ set hive.stats.reliable=false; set hive.test.dummystats.aggregator=connect; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.test.dummystats.aggregator=closeConnection; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.test.dummystats.aggregator=cleanUp; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.stats.default.aggregator=""; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; diff --git a/ql/src/test/queries/clientpositive/stats_counter.q b/ql/src/test/queries/clientpositive/stats_counter.q index 3c1f132..f3c5a24 100644 --- a/ql/src/test/queries/clientpositive/stats_counter.q +++ b/ql/src/test/queries/clientpositive/stats_counter.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=counter; set hive.stats.autogather=false; -- by analyze -create table dummy1 as select * from src; +create table dummy1 as select * from `s/c`; analyze table dummy1 compute statistics; desc formatted dummy1; @@ -11,6 +45,6 @@ set hive.stats.dbclass=counter; set hive.stats.autogather=true; -- by autogather -create table dummy2 as select * from src; +create table dummy2 as select * from `s/c`; desc formatted dummy2; diff --git a/ql/src/test/queries/clientpositive/stats_counter_partitioned.q b/ql/src/test/queries/clientpositive/stats_counter_partitioned.q index e1274c0..394ef4d 100644 --- a/ql/src/test/queries/clientpositive/stats_counter_partitioned.q +++ b/ql/src/test/queries/clientpositive/stats_counter_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=counter; set hive.stats.autogather=true; set hive.exec.dynamic.partition.mode=nonstrict; @@ -19,8 +53,8 @@ drop table dummy; create table dummy (key string, value string) partitioned by (ds string, hr string); -insert overwrite table dummy partition (ds='10',hr='11') select * from src; -insert overwrite table dummy partition (ds='10',hr='12') select * from src; +insert overwrite table dummy partition (ds='10',hr='11') select * from `s/c`; +insert overwrite table dummy partition (ds='10',hr='12') select * from `s/c`; describe formatted dummy partition (ds='10', hr='11'); describe formatted dummy partition (ds='10', hr='12'); diff --git a/ql/src/test/queries/clientpositive/stats_empty_dyn_part.q b/ql/src/test/queries/clientpositive/stats_empty_dyn_part.q index 38ee6f7..32bdfaa 100644 --- a/ql/src/test/queries/clientpositive/stats_empty_dyn_part.q +++ b/ql/src/test/queries/clientpositive/stats_empty_dyn_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies writing a query using dynamic partitions -- which results in no partitions actually being created with -- hive.stats.reliable set to true @@ -8,6 +42,6 @@ set hive.stats.autogather=true; set hive.stats.reliable=true; set hive.exec.dynamic.partition.mode=nonstrict; -explain insert overwrite table tmptable partition (part) select key, value from src where key = 'no_such_value'; +explain insert overwrite table tmptable partition (part) select key, value from `s/c` where key = 'no_such_value'; -insert overwrite table tmptable partition (part) select key, value from src where key = 'no_such_value'; +insert overwrite table tmptable partition (part) select key, value from `s/c` where key = 'no_such_value'; diff --git a/ql/src/test/queries/clientpositive/stats_empty_partition.q b/ql/src/test/queries/clientpositive/stats_empty_partition.q index 305a97c..068e617 100644 --- a/ql/src/test/queries/clientpositive/stats_empty_partition.q +++ b/ql/src/test/queries/clientpositive/stats_empty_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- This test verifies that writing an empty partition succeeds when -- hive.stats.reliable is set to true. @@ -6,6 +40,6 @@ create table tmptable(key string, value string) partitioned by (part string); set hive.stats.autogather=true; set hive.stats.reliable=true; -insert overwrite table tmptable partition (part = '1') select * from src where key = 'no_such_value'; +insert overwrite table tmptable partition (part = '1') select * from `s/c` where key = 'no_such_value'; describe formatted tmptable partition (part = '1'); diff --git a/ql/src/test/queries/clientpositive/stats_invalidation.q b/ql/src/test/queries/clientpositive/stats_invalidation.q index a7fce6e..ad6e351 100644 --- a/ql/src/test/queries/clientpositive/stats_invalidation.q +++ b/ql/src/test/queries/clientpositive/stats_invalidation.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=true; CREATE TABLE stats_invalid (key string, value string); insert overwrite table stats_invalid -select * from src; +select * from `s/c`; analyze table stats_invalid compute statistics for columns key,value; diff --git a/ql/src/test/queries/clientpositive/stats_list_bucket.q b/ql/src/test/queries/clientpositive/stats_list_bucket.q index b4e813b..511d329 100644 --- a/ql/src/test/queries/clientpositive/stats_list_bucket.q +++ b/ql/src/test/queries/clientpositive/stats_list_bucket.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; @@ -19,10 +53,10 @@ set hive.stats.key.prefix.max.length=1; -- Make sure we use hashed IDs during stats publishing. -- Try partitioned table with list bucketing. --- The stats should show 500 rows loaded, as many rows as the src table has. +-- The stats should show 500 rows loaded, as many rows as the `s/c` table has. insert overwrite table stats_list_bucket partition (ds = '2008-04-08', hr = '11') - select key, value from src; + select key, value from `s/c`; desc formatted stats_list_bucket partition (ds = '2008-04-08', hr = '11'); @@ -38,7 +72,7 @@ stored as directories stored as rcfile; insert overwrite table stats_list_bucket_1 - select key, value from src; + select key, value from `s/c`; desc formatted stats_list_bucket_1; diff --git a/ql/src/test/queries/clientpositive/stats_noscan_1.q b/ql/src/test/queries/clientpositive/stats_noscan_1.q index 2681f77..3374077 100644 --- a/ql/src/test/queries/clientpositive/stats_noscan_1.q +++ b/ql/src/test/queries/clientpositive/stats_noscan_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set datanucleus.cache.collections=false; set hive.stats.autogather=false; @@ -7,8 +41,8 @@ set hive.exec.dynamic.partition.mode=nonstrict; -- test analyze table ... compute statistics noscan -- 1. test full spec -create table analyze_srcpart like srcpart; -insert overwrite table analyze_srcpart partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart like `s/cpart`; +insert overwrite table analyze_srcpart partition (ds, hr) select * from `s/cpart` where ds is not null; explain analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics noscan; analyze table analyze_srcpart PARTITION(ds='2008-04-08',hr=11) compute statistics noscan; @@ -22,8 +56,8 @@ describe formatted analyze_srcpart; drop table analyze_srcpart; -- 2. test partial spec -create table analyze_srcpart_partial like srcpart; -insert overwrite table analyze_srcpart_partial partition (ds, hr) select * from srcpart where ds is not null; +create table analyze_srcpart_partial like `s/cpart`; +insert overwrite table analyze_srcpart_partial partition (ds, hr) select * from `s/cpart` where ds is not null; explain analyze table analyze_srcpart_partial PARTITION(ds='2008-04-08') compute statistics noscan; analyze table analyze_srcpart_partial PARTITION(ds='2008-04-08') compute statistics noscan; diff --git a/ql/src/test/queries/clientpositive/stats_noscan_2.q b/ql/src/test/queries/clientpositive/stats_noscan_2.q index 8639ab7..0e3ddec 100644 --- a/ql/src/test/queries/clientpositive/stats_noscan_2.q +++ b/ql/src/test/queries/clientpositive/stats_noscan_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs -cp ${system:hive.root}/data/files/ext_test ${system:test.tmp.dir}/analyze_external; -- test analyze table compute statistiscs [noscan] on external table @@ -15,7 +49,7 @@ drop table anaylyze_external; create table texternal(key string, val string) partitioned by (insertdate string); dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/texternal/2008-01-01; alter table texternal add partition (insertdate='2008-01-01') location 'pfile://${system:test.tmp.dir}/texternal/2008-01-01'; -from src insert overwrite table texternal partition (insertdate='2008-01-01') select *; +from `s/c` insert overwrite table texternal partition (insertdate='2008-01-01') select *; select count(*) from texternal where insertdate='2008-01-01'; -- create external table CREATE EXTERNAL TABLE anaylyze_external (key string, val string) partitioned by (insertdate string) LOCATION "pfile://${system:test.tmp.dir}/texternal"; diff --git a/ql/src/test/queries/clientpositive/stats_only_null.q b/ql/src/test/queries/clientpositive/stats_only_null.q index b2bd4dc..227601d 100644 --- a/ql/src/test/queries/clientpositive/stats_only_null.q +++ b/ql/src/test/queries/clientpositive/stats_only_null.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.stats.dbclass=fs; set hive.compute.query.using.stats=true; diff --git a/ql/src/test/queries/clientpositive/stats_partscan_1.q b/ql/src/test/queries/clientpositive/stats_partscan_1.q index b790b7d..39ca7c9 100644 --- a/ql/src/test/queries/clientpositive/stats_partscan_1.q +++ b/ql/src/test/queries/clientpositive/stats_partscan_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; @@ -18,7 +52,7 @@ set mapred.max.split.size=256; CREATE table analyze_srcpart_partial_scan (key STRING, value STRING) partitioned by (ds string, hr string) stored as rcfile; -insert overwrite table analyze_srcpart_partial_scan partition (ds, hr) select * from srcpart where ds is not null; +insert overwrite table analyze_srcpart_partial_scan partition (ds, hr) select * from `s/cpart` where ds is not null; describe formatted analyze_srcpart_partial_scan PARTITION(ds='2008-04-08',hr=11); set hive.stats.autogather=true; diff --git a/ql/src/test/queries/clientpositive/stats_partscan_1_23.q b/ql/src/test/queries/clientpositive/stats_partscan_1_23.q index 905c4c2..3b46f9f 100644 --- a/ql/src/test/queries/clientpositive/stats_partscan_1_23.q +++ b/ql/src/test/queries/clientpositive/stats_partscan_1_23.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set datanucleus.cache.collections=false; set hive.stats.autogather=false; set hive.exec.dynamic.partition=true; @@ -19,7 +53,7 @@ set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; CREATE table analyze_srcpart_partial_scan (key STRING, value STRING) partitioned by (ds string, hr string) stored as rcfile; -insert overwrite table analyze_srcpart_partial_scan partition (ds, hr) select * from srcpart where ds is not null; +insert overwrite table analyze_srcpart_partial_scan partition (ds, hr) select * from `s/cpart` where ds is not null; describe formatted analyze_srcpart_partial_scan PARTITION(ds='2008-04-08',hr=11); set hive.stats.autogather=true; diff --git a/ql/src/test/queries/clientpositive/stats_ppr_all.q b/ql/src/test/queries/clientpositive/stats_ppr_all.q index b611e83..274a93c 100644 --- a/ql/src/test/queries/clientpositive/stats_ppr_all.q +++ b/ql/src/test/queries/clientpositive/stats_ppr_all.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.fetch.column.stats=true; drop table ss; diff --git a/ql/src/test/queries/clientpositive/stats_publisher_error_1.q b/ql/src/test/queries/clientpositive/stats_publisher_error_1.q index 513b8e7..59be814 100644 --- a/ql/src/test/queries/clientpositive/stats_publisher_error_1.q +++ b/ql/src/test/queries/clientpositive/stats_publisher_error_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- In this test, there is a dummy stats publisher which throws an error when various -- methods are called (as indicated by the parameter hive.test.dummystats.publisher) -- Since stats need not be reliable (by setting hive.stats.reliable to false), the @@ -13,17 +47,17 @@ set hive.stats.reliable=false; set hive.test.dummystats.publisher=connect; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.test.dummystats.publisher=publishStat; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.test.dummystats.publisher=closeConnection; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; set hive.stats.default.publisher=""; -INSERT OVERWRITE TABLE tmptable select * from src; +INSERT OVERWRITE TABLE tmptable select * from `s/c`; select count(1) from tmptable; diff --git a/ql/src/test/queries/clientpositive/statsfs.q b/ql/src/test/queries/clientpositive/statsfs.q index 82a2295..165cdfd 100644 --- a/ql/src/test/queries/clientpositive/statsfs.q +++ b/ql/src/test/queries/clientpositive/statsfs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; -- stats computation on partitioned table with analyze command @@ -17,8 +51,8 @@ drop table t1; create table t1 (key string, value string) partitioned by (ds string); -insert into table t1 partition (ds='2010') select * from src; -insert into table t1 partition (ds='2011') select * from src; +insert into table t1 partition (ds='2010') select * from `s/c`; +insert into table t1 partition (ds='2011') select * from `s/c`; describe formatted t1 partition (ds='2010'); describe formatted t1 partition (ds='2011'); @@ -40,7 +74,7 @@ drop table t1; create table t1 (key string, value string); -insert into table t1 select * from src; +insert into table t1 select * from `s/c`; describe formatted t1 ; @@ -52,7 +86,7 @@ drop table t1; create table t1 (key string, value string) partitioned by (ds string, hr string); set hive.exec.dynamic.partition.mode=nonstrict; -insert into table t1 partition (ds,hr) select * from srcpart; +insert into table t1 partition (ds,hr) select * from `s/cpart`; describe formatted t1 partition (ds='2008-04-08',hr='11'); describe formatted t1 partition (ds='2008-04-09',hr='12'); diff --git a/ql/src/test/queries/clientpositive/storage_format_descriptor.q b/ql/src/test/queries/clientpositive/storage_format_descriptor.q index 548890f..9a64d5b 100644 --- a/ql/src/test/queries/clientpositive/storage_format_descriptor.q +++ b/ql/src/test/queries/clientpositive/storage_format_descriptor.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE stored_as_custom_text_serde; CREATE TABLE stored_as_custom_text_serde(key string, value string) STORED AS customtextserde; LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE stored_as_custom_text_serde; diff --git a/ql/src/test/queries/clientpositive/str_to_map.q b/ql/src/test/queries/clientpositive/str_to_map.q index cc5ecf2..55401d1 100644 --- a/ql/src/test/queries/clientpositive/str_to_map.q +++ b/ql/src/test/queries/clientpositive/str_to_map.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- JAVA_VERSION_SPECIFIC_OUTPUT @@ -5,25 +39,25 @@ set hive.fetch.task.conversion=more; desc function str_to_map; desc function extended str_to_map; -explain select str_to_map('a=1,b=2,c=3',',','=')['a'] from src limit 3; -select str_to_map('a=1,b=2,c=3',',','=')['a'] from src limit 3; +explain select str_to_map('a=1,b=2,c=3',',','=')['a'] from `s/c` limit 3; +select str_to_map('a=1,b=2,c=3',',','=')['a'] from `s/c` limit 3; -explain select str_to_map('a:1,b:2,c:3') from src limit 3; -select str_to_map('a:1,b:2,c:3') from src limit 3; +explain select str_to_map('a:1,b:2,c:3') from `s/c` limit 3; +select str_to_map('a:1,b:2,c:3') from `s/c` limit 3; -explain select str_to_map('a:1,b:2,c:3',',',':') from src limit 3; -select str_to_map('a:1,b:2,c:3',',',':') from src limit 3; +explain select str_to_map('a:1,b:2,c:3',',',':') from `s/c` limit 3; +select str_to_map('a:1,b:2,c:3',',',':') from `s/c` limit 3; explain select str_to_map(t.ss,',',':')['a'] -from (select transform('a:1,b:2,c:3') using 'cat' as (ss) from src) t +from (select transform('a:1,b:2,c:3') using 'cat' as (ss) from `s/c`) t limit 3; select str_to_map(t.ss,',',':')['a'] -from (select transform('a:1,b:2,c:3') using 'cat' as (ss) from src) t +from (select transform('a:1,b:2,c:3') using 'cat' as (ss) from `s/c`) t limit 3; drop table tbl_s2m; -create table tbl_s2m as select 'ABC=CC_333=444' as t from src tablesample (3 rows); +create table tbl_s2m as select 'ABC=CC_333=444' as t from `s/c` tablesample (3 rows); select str_to_map(t,'_','=')['333'] from tbl_s2m; diff --git a/ql/src/test/queries/clientpositive/structin.q b/ql/src/test/queries/clientpositive/structin.q index 35498bf..cdddc4b 100644 --- a/ql/src/test/queries/clientpositive/structin.q +++ b/ql/src/test/queries/clientpositive/structin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table t11 (`id` string, `lineid` string); set hive.cbo.enable=false; set hive.tez.dynamic.partition.pruning=false; diff --git a/ql/src/test/queries/clientpositive/subq.q b/ql/src/test/queries/clientpositive/subq.q index 14fa321..dd04d1e 100644 --- a/ql/src/test/queries/clientpositive/subq.q +++ b/ql/src/test/queries/clientpositive/subq.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN FROM ( - FROM src select src.* WHERE src.key < 100 + FROM `s/c` select `s/c`.* WHERE `s/c`.key < 100 ) unioninput INSERT OVERWRITE DIRECTORY 'target/warehouse/union.out' SELECT unioninput.*; FROM ( - FROM src select src.* WHERE src.key < 100 + FROM `s/c` select `s/c`.* WHERE `s/c`.key < 100 ) unioninput INSERT OVERWRITE DIRECTORY 'target/warehouse/union.out' SELECT unioninput.*; diff --git a/ql/src/test/queries/clientpositive/subq2.q b/ql/src/test/queries/clientpositive/subq2.q index 7e174da..5c838b6 100644 --- a/ql/src/test/queries/clientpositive/subq2.q +++ b/ql/src/test/queries/clientpositive/subq2.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT a.k, a.c -FROM (SELECT b.key as k, count(1) as c FROM src b GROUP BY b.key) a +FROM (SELECT b.key as k, count(1) as c FROM `s/c` b GROUP BY b.key) a WHERE a.k >= 90; SELECT a.k, a.c -FROM (SELECT b.key as k, count(1) as c FROM src b GROUP BY b.key) a +FROM (SELECT b.key as k, count(1) as c FROM `s/c` b GROUP BY b.key) a WHERE a.k >= 90; diff --git a/ql/src/test/queries/clientpositive/subq_where_serialization.q b/ql/src/test/queries/clientpositive/subq_where_serialization.q index 1d53982..ccac39e 100644 --- a/ql/src/test/queries/clientpositive/subq_where_serialization.q +++ b/ql/src/test/queries/clientpositive/subq_where_serialization.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask.size=10000000; -explain select src.key from src where src.key in ( select distinct key from src); +explain select `s/c`.key from `s/c` where `s/c`.key in ( select distinct key from `s/c`); set hive.auto.convert.join=false; diff --git a/ql/src/test/queries/clientpositive/subquery_alias.q b/ql/src/test/queries/clientpositive/subquery_alias.q index ffc33dc..d0a53e3 100644 --- a/ql/src/test/queries/clientpositive/subquery_alias.q +++ b/ql/src/test/queries/clientpositive/subquery_alias.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN FROM ( - FROM src select src.* WHERE src.key < 100 + FROM `s/c` select `s/c`.* WHERE `s/c`.key < 100 ) as unioninput INSERT OVERWRITE DIRECTORY 'target/warehouse/union.out' SELECT unioninput.*; EXPLAIN SELECT * FROM ( SELECT * FROM - ( SELECT * FROM src as s ) as src1 + ( SELECT * FROM `s/c` as s ) as src1 ) as src2; SELECT * FROM ( SELECT * FROM - ( SELECT * FROM src as s ) as src1 + ( SELECT * FROM `s/c` as s ) as src1 ) as src2; diff --git a/ql/src/test/queries/clientpositive/subquery_exists.q b/ql/src/test/queries/clientpositive/subquery_exists.q index 720e360..aa69a64 100644 --- a/ql/src/test/queries/clientpositive/subquery_exists.q +++ b/ql/src/test/queries/clientpositive/subquery_exists.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS @@ -5,19 +39,19 @@ set hive.explain.user=false; -- SORT_QUERY_RESULTS explain select * -from src b +from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9' ) ; select * -from src b +from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9' ) ; @@ -25,10 +59,10 @@ where exists -- view test create view cv1 as select * -from src b +from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9') ; @@ -38,10 +72,10 @@ select * from cv1 -- sq in from select * from (select * - from src b + from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9') ) a ; diff --git a/ql/src/test/queries/clientpositive/subquery_exists_explain_rewrite.q b/ql/src/test/queries/clientpositive/subquery_exists_explain_rewrite.q index d6efd98..f89e6c7 100644 --- a/ql/src/test/queries/clientpositive/subquery_exists_explain_rewrite.q +++ b/ql/src/test/queries/clientpositive/subquery_exists_explain_rewrite.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=false; -- no agg, corr explain rewrite select * -from src b +from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9' ) ; @@ -15,10 +49,10 @@ where exists explain rewrite select * from (select * - from src b + from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9') ) a ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/subquery_exists_having.q b/ql/src/test/queries/clientpositive/subquery_exists_having.q index 39d2d17..7964d2d 100644 --- a/ql/src/test/queries/clientpositive/subquery_exists_having.q +++ b/ql/src/test/queries/clientpositive/subquery_exists_having.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.correlation=false; -- no agg, corr explain select b.key, count(*) -from src b +from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ; select b.key, count(*) -from src b +from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ; @@ -27,21 +61,21 @@ set hive.optimize.correlation=true; -- no agg, corr explain select b.key, count(*) -from src b +from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ; select b.key, count(*) -from src b +from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ; @@ -49,11 +83,11 @@ having exists -- view test create view cv1 as select b.key, count(*) as c -from src b +from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ; @@ -63,11 +97,11 @@ select * from cv1; -- sq in from select * from (select b.key, count(*) - from src b + from `s/c` b group by b.key having exists (select a.key - from src a + from `s/c` a where a.key = b.key and a.value > 'val_9' ) ) a @@ -75,10 +109,10 @@ from (select b.key, count(*) -- join on agg select b.key, min(b.value) -from src b +from `s/c` b group by b.key having exists ( select a.key - from src a + from `s/c` a where a.value > 'val_9' and a.value = min(b.value) ) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/subquery_in.q b/ql/src/test/queries/clientpositive/subquery_in.q index e81872f..7d8b1fd 100644 --- a/ql/src/test/queries/clientpositive/subquery_in.q +++ b/ql/src/test/queries/clientpositive/subquery_in.q @@ -1,34 +1,68 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS -- non agg, non corr explain select * -from src -where src.key in (select key from src s1 where s1.key > '9') +from `s/c` +where `s/c`.key in (select key from `s/c` s1 where s1.key > '9') ; select * -from src -where src.key in (select key from src s1 where s1.key > '9') +from `s/c` +where `s/c`.key in (select key from `s/c` s1 where s1.key > '9') ; -- non agg, corr explain select * -from src b +from `s/c` b where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; select * -from src b +from `s/c` b where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; @@ -73,19 +107,19 @@ from part b where b.p_size in -- distinct, corr explain select * -from src b +from `s/c` b where b.key in (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; select * -from src b +from `s/c` b where b.key in (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; diff --git a/ql/src/test/queries/clientpositive/subquery_in_explain_rewrite.q b/ql/src/test/queries/clientpositive/subquery_in_explain_rewrite.q index 5d3f966..403ffde 100644 --- a/ql/src/test/queries/clientpositive/subquery_in_explain_rewrite.q +++ b/ql/src/test/queries/clientpositive/subquery_in_explain_rewrite.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.cbo.enable=false; -- non agg, non corr explain rewrite select * -from src -where src.key in (select key from src s1 where s1.key > '9') +from `s/c` +where `s/c`.key in (select key from `s/c` s1 where s1.key > '9') ; -- non agg, corr explain rewrite select * -from src b +from `s/c` b where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; @@ -42,10 +76,10 @@ from part b where b.p_size in -- distinct, corr explain rewrite select * -from src b +from `s/c` b where b.key in (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) ; diff --git a/ql/src/test/queries/clientpositive/subquery_in_having.q b/ql/src/test/queries/clientpositive/subquery_in_having.q index af87eb4..7568a9c 100644 --- a/ql/src/test/queries/clientpositive/subquery_in_having.q +++ b/ql/src/test/queries/clientpositive/subquery_in_having.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- data setup @@ -20,26 +54,26 @@ LOAD DATA LOCAL INPATH '../../data/files/part_tiny.txt' overwrite into table par -- non agg, non corr explain select key, count(*) -from src +from `s/c` group by key -having count(*) in (select count(*) from src s1 where s1.key > '9' group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key > '9' group by s1.key ) ; -select s1.key, count(*) from src s1 where s1.key > '9' group by s1.key; +select s1.key, count(*) from `s/c` s1 where s1.key > '9' group by s1.key; select key, count(*) -from src +from `s/c` group by key -having count(*) in (select count(*) from src s1 where s1.key = '90' group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key = '90' group by s1.key ) ; -- non agg, corr explain select key, value, count(*) -from src b +from `s/c` b group by key, value -having count(*) in (select count(*) from src s1 where s1.key > '9' and s1.value = b.value group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key > '9' and s1.value = b.value group by s1.key ) ; set hive.optimize.correlation=false; @@ -74,42 +108,42 @@ having b.p_mfgr in -- join on agg select b.key, min(b.value) -from src b +from `s/c` b group by b.key having b.key in ( select a.key - from src a + from `s/c` a where a.value > 'val_9' and a.value = min(b.value) ) ; -- where and having -- Plan is: --- Stage 1: b semijoin sq1:src (subquery in where) +-- Stage 1: b semijoin sq1:`s/c` (subquery in where) -- Stage 2: group by Stage 1 o/p --- Stage 5: group by on sq2:src (subquery in having) +-- Stage 5: group by on sq2:`s/c` (subquery in having) -- Stage 6: Stage 2 o/p semijoin Stage 5 explain select key, value, count(*) -from src b -where b.key in (select key from src where src.key > '8') +from `s/c` b +where b.key in (select key from `s/c` where `s/c`.key > '8') group by key, value -having count(*) in (select count(*) from src s1 where s1.key > '9' group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key > '9' group by s1.key ) ; set hive.auto.convert.join=true; -- Plan is: --- Stage 5: group by on sq2:src (subquery in having) --- Stage 10: hashtable for sq1:src (subquery in where) +-- Stage 5: group by on sq2:`s/c` (subquery in having) +-- Stage 10: hashtable for sq1:`s/c` (subquery in where) -- Stage 2: b map-side semijoin Stage 10 o/p -- Stage 3: Stage 2 semijoin Stage 5 -- Stage 9: construct hastable for Stage 5 o/p -- Stage 6: Stage 2 map-side semijoin Stage 9 explain select key, value, count(*) -from src b -where b.key in (select key from src where src.key > '8') +from `s/c` b +where b.key in (select key from `s/c` where `s/c`.key > '8') group by key, value -having count(*) in (select count(*) from src s1 where s1.key > '9' group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key > '9' group by s1.key ) ; -- non agg, non corr, windowing diff --git a/ql/src/test/queries/clientpositive/subquery_multiinsert.q b/ql/src/test/queries/clientpositive/subquery_multiinsert.q index 06763f0..65f83fe 100644 --- a/ql/src/test/queries/clientpositive/subquery_multiinsert.q +++ b/ql/src/test/queries/clientpositive/subquery_multiinsert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.PostExecutePrinter,org.apache.hadoop.hive.ql.hooks.PrintCompletedTasksHook; -- SORT_QUERY_RESULTS @@ -16,31 +50,31 @@ CREATE TABLE src_5( ; explain -from src b +from `s/c` b INSERT OVERWRITE TABLE src_4 select * where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) INSERT OVERWRITE TABLE src_5 select * - where b.key not in ( select key from src s1 where s1.key > '2') + where b.key not in ( select key from `s/c` s1 where s1.key > '2') order by key ; -from src b +from `s/c` b INSERT OVERWRITE TABLE src_4 select * where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) INSERT OVERWRITE TABLE src_5 select * - where b.key not in ( select key from src s1 where s1.key > '2') + where b.key not in ( select key from `s/c` s1 where s1.key > '2') order by key ; @@ -51,31 +85,31 @@ select * from src_5 set hive.auto.convert.join=true; explain -from src b +from `s/c` b INSERT OVERWRITE TABLE src_4 select * where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) INSERT OVERWRITE TABLE src_5 select * - where b.key not in ( select key from src s1 where s1.key > '2') + where b.key not in ( select key from `s/c` s1 where s1.key > '2') order by key ; -from src b +from `s/c` b INSERT OVERWRITE TABLE src_4 select * where b.key in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key > '9' ) INSERT OVERWRITE TABLE src_5 select * - where b.key not in ( select key from src s1 where s1.key > '2') + where b.key not in ( select key from `s/c` s1 where s1.key > '2') order by key ; diff --git a/ql/src/test/queries/clientpositive/subquery_notexists.q b/ql/src/test/queries/clientpositive/subquery_notexists.q index 43a801f..e22b80e 100644 --- a/ql/src/test/queries/clientpositive/subquery_notexists.q +++ b/ql/src/test/queries/clientpositive/subquery_notexists.q @@ -1,21 +1,55 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- no agg, corr explain select * -from src b +from `s/c` b where not exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_2' ) ; select * -from src b +from `s/c` b where not exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_2' ) ; @@ -23,19 +57,19 @@ where not exists -- distinct, corr explain select * -from src b +from `s/c` b where not exists (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.value > 'val_2' ) ; select * -from src b +from `s/c` b where not exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.value > 'val_2' ) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/subquery_notexists_having.q b/ql/src/test/queries/clientpositive/subquery_notexists_having.q index 7205d17..a809c27 100644 --- a/ql/src/test/queries/clientpositive/subquery_notexists_having.q +++ b/ql/src/test/queries/clientpositive/subquery_notexists_having.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- no agg, corr explain select * -from src b +from `s/c` b group by key, value having not exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_12' ) ; select * -from src b +from `s/c` b group by key, value having not exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_12' ) ; @@ -26,21 +60,21 @@ having not exists -- distinct, corr explain select * -from src b +from `s/c` b group by key, value having not exists (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.value > 'val_12' ) ; select * -from src b +from `s/c` b group by key, value having not exists (select distinct a.key - from src a + from `s/c` a where b.value = a.value and a.value > 'val_12' ) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/subquery_notin.q b/ql/src/test/queries/clientpositive/subquery_notin.q index c75e082..12b209e 100644 --- a/ql/src/test/queries/clientpositive/subquery_notin.q +++ b/ql/src/test/queries/clientpositive/subquery_notin.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- non agg, non corr explain select * -from src -where src.key not in - ( select key from src s1 +from `s/c` +where `s/c`.key not in + ( select key from `s/c` s1 where s1.key > '2' ) ; select * -from src -where src.key not in ( select key from src s1 where s1.key > '2') +from `s/c` +where `s/c`.key not in ( select key from `s/c` s1 where s1.key > '2') order by key ; @@ -84,14 +118,14 @@ group by li.l_partkey -- alternate not in syntax select * -from src -where not src.key in ( select key from src s1 where s1.key > '2') +from `s/c` +where not `s/c`.key in ( select key from `s/c` s1 where s1.key > '2') order by key ; -- null check create view T1_v as -select key from src where key <'11'; +select key from `s/c` where key <'11'; create view T2_v as select case when key > '104' then null else key end as key from T1_v; diff --git a/ql/src/test/queries/clientpositive/subquery_notin_having.q b/ql/src/test/queries/clientpositive/subquery_notin_having.q index 1494d1e..ab1c1dc 100644 --- a/ql/src/test/queries/clientpositive/subquery_notin_having.q +++ b/ql/src/test/queries/clientpositive/subquery_notin_having.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- non agg, non corr -- JAVA_VERSION_SPECIFIC_OUTPUT explain select key, count(*) -from src +from `s/c` group by key having key not in - ( select key from src s1 + ( select key from `s/c` s1 where s1.key > '12' ) ; diff --git a/ql/src/test/queries/clientpositive/subquery_unqual_corr_expr.q b/ql/src/test/queries/clientpositive/subquery_unqual_corr_expr.q index 1d766a1..6d3fb3f 100644 --- a/ql/src/test/queries/clientpositive/subquery_unqual_corr_expr.q +++ b/ql/src/test/queries/clientpositive/subquery_unqual_corr_expr.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain -select * from src tablesample (10 rows) where lower(key) in (select key from src); -select * from src tablesample (10 rows) where lower(key) in (select key from src); +select * from `s/c` tablesample (10 rows) where lower(key) in (select key from `s/c`); +select * from `s/c` tablesample (10 rows) where lower(key) in (select key from `s/c`); explain -select * from src tablesample (10 rows) where concat(key,value) not in (select key from src); -select * from src tablesample (10 rows) where concat(key,value) not in (select key from src); +select * from `s/c` tablesample (10 rows) where concat(key,value) not in (select key from `s/c`); +select * from `s/c` tablesample (10 rows) where concat(key,value) not in (select key from `s/c`); diff --git a/ql/src/test/queries/clientpositive/subquery_unqualcolumnrefs.q b/ql/src/test/queries/clientpositive/subquery_unqualcolumnrefs.q index d2b4c36..3d6cae2 100644 --- a/ql/src/test/queries/clientpositive/subquery_unqualcolumnrefs.q +++ b/ql/src/test/queries/clientpositive/subquery_unqualcolumnrefs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src11 (key1 string, value1 string); create table part2( @@ -13,9 +47,9 @@ create table part2( ); -- non agg, corr -explain select * from src11 where src11.key1 in (select key from src where src11.value1 = value and key > '9'); +explain select * from src11 where src11.key1 in (select key from `s/c` where src11.value1 = value and key > '9'); -explain select * from src a where a.key in (select key from src where a.value = value and key > '9'); +explain select * from `s/c` a where a.key in (select key from `s/c` where a.value = value and key > '9'); -- agg, corr explain @@ -40,10 +74,10 @@ from part b where b.p_size in -- distinct, corr explain select * -from src b +from `s/c` b where b.key in (select distinct key - from src + from `s/c` where b.value = value and key > '9' ) ; @@ -51,9 +85,9 @@ where b.key in -- non agg, corr, having explain select key, value, count(*) -from src b +from `s/c` b group by key, value -having count(*) in (select count(*) from src where src.key > '9' and src.value = b.value group by key ) +having count(*) in (select count(*) from `s/c` where `s/c`.key > '9' and `s/c`.value = b.value group by key ) ; -- non agg, corr diff --git a/ql/src/test/queries/clientpositive/subquery_views.q b/ql/src/test/queries/clientpositive/subquery_views.q index f15d41b..8697fad 100644 --- a/ql/src/test/queries/clientpositive/subquery_views.q +++ b/ql/src/test/queries/clientpositive/subquery_views.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- exists test create view cv1 as select * -from src b +from `s/c` b where exists (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_9') ; @@ -18,10 +52,10 @@ from cv1 where cv1.key in (select key from cv1 c where c.key > '95'); -- not in test create view cv2 as select * -from src b +from `s/c` b where b.key not in (select a.key - from src a + from `s/c` a where b.value = a.value and a.key = b.key and a.value > 'val_11' ) ; @@ -38,10 +72,10 @@ from cv2 where cv2.key in (select key from cv2 c where c.key < '11'); -- in where + having create view cv3 as select key, value, count(*) -from src b -where b.key in (select key from src where src.key > '8') +from `s/c` b +where b.key in (select key from `s/c` where `s/c`.key > '8') group by key, value -having count(*) in (select count(*) from src s1 where s1.key > '9' group by s1.key ) +having count(*) in (select count(*) from `s/c` s1 where s1.key > '9' group by s1.key ) ; select * from cv3; diff --git a/ql/src/test/queries/clientpositive/sum_expr_with_order.q b/ql/src/test/queries/clientpositive/sum_expr_with_order.q index 4de9837..7f558f9 100644 --- a/ql/src/test/queries/clientpositive/sum_expr_with_order.q +++ b/ql/src/test/queries/clientpositive/sum_expr_with_order.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select cast(sum(key)*100 as decimal(15,3)) as c1 -from src +from `s/c` order by c1; diff --git a/ql/src/test/queries/clientpositive/symlink_text_input_format.q b/ql/src/test/queries/clientpositive/symlink_text_input_format.q index d633b97..cd2fbe0 100644 --- a/ql/src/test/queries/clientpositive/symlink_text_input_format.q +++ b/ql/src/test/queries/clientpositive/symlink_text_input_format.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS symlink_text_input_format; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/table_access_keys_stats.q b/ql/src/test/queries/clientpositive/table_access_keys_stats.q index 7bd0422..ce32b1e 100644 --- a/ql/src/test/queries/clientpositive/table_access_keys_stats.q +++ b/ql/src/test/queries/clientpositive/table_access_keys_stats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.exec.post.hooks=org.apache.hadoop.hive.ql.hooks.CheckTableAccessHook; SET hive.stats.collect.tablekeys=true; diff --git a/ql/src/test/queries/clientpositive/table_nonprintable.q b/ql/src/test/queries/clientpositive/table_nonprintable.q index 5ae228e..d8e4a0a 100644 --- a/ql/src/test/queries/clientpositive/table_nonprintable.q +++ b/ql/src/test/queries/clientpositive/table_nonprintable.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.msck.path.validation=skip; dfs ${system:test.dfs.mkdir} hdfs:///tmp/temp_table_external/day=¢Bar; diff --git a/ql/src/test/queries/clientpositive/tablename_with_select.q b/ql/src/test/queries/clientpositive/tablename_with_select.q index c48231b..412687b 100644 --- a/ql/src/test/queries/clientpositive/tablename_with_select.q +++ b/ql/src/test/queries/clientpositive/tablename_with_select.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE tmp_select(a INT, b STRING); DESCRIBE tmp_select; -INSERT OVERWRITE TABLE tmp_select SELECT key, value FROM src; +INSERT OVERWRITE TABLE tmp_select SELECT key, value FROM `s/c`; SELECT a, b FROM tmp_select ORDER BY a; diff --git a/ql/src/test/queries/clientpositive/temp_table.q b/ql/src/test/queries/clientpositive/temp_table.q index e587f3f..3f9bca4 100644 --- a/ql/src/test/queries/clientpositive/temp_table.q +++ b/ql/src/test/queries/clientpositive/temp_table.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -EXPLAIN CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0; -CREATE TEMPORARY TABLE foo AS SELECT * FROM src WHERE key % 2 = 0; +EXPLAIN CREATE TEMPORARY TABLE foo AS SELECT * FROM `s/c` WHERE key % 2 = 0; +CREATE TEMPORARY TABLE foo AS SELECT * FROM `s/c` WHERE key % 2 = 0; -EXPLAIN CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1; -CREATE TEMPORARY TABLE bar AS SELECT * FROM src WHERE key % 2 = 1; +EXPLAIN CREATE TEMPORARY TABLE bar AS SELECT * FROM `s/c` WHERE key % 2 = 1; +CREATE TEMPORARY TABLE bar AS SELECT * FROM `s/c` WHERE key % 2 = 1; DESCRIBE foo; DESCRIBE bar; @@ -21,7 +55,7 @@ INSERT OVERWRITE TABLE baz SELECT * from foo; CREATE TEMPORARY TABLE bay (key string, value string) STORED AS orc; select * from bay; -INSERT OVERWRITE TABLE bay SELECT * FROM src ORDER BY key; +INSERT OVERWRITE TABLE bay SELECT * FROM `s/c` ORDER BY key; select * from bay order by key limit 10; diff --git a/ql/src/test/queries/clientpositive/temp_table_display_colstats_tbllvl.q b/ql/src/test/queries/clientpositive/temp_table_display_colstats_tbllvl.q index 39a11f2..2fcad4f 100644 --- a/ql/src/test/queries/clientpositive/temp_table_display_colstats_tbllvl.q +++ b/ql/src/test/queries/clientpositive/temp_table_display_colstats_tbllvl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Based on display_colstats_tbllvl.q, output should be almost exactly the same. DROP TABLE IF EXISTS UserVisits_web_text_none; diff --git a/ql/src/test/queries/clientpositive/temp_table_external.q b/ql/src/test/queries/clientpositive/temp_table_external.q index f12a7b3..5a0cccf 100644 --- a/ql/src/test/queries/clientpositive/temp_table_external.q +++ b/ql/src/test/queries/clientpositive/temp_table_external.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/temp_table_external; dfs -copyFromLocal ../../data/files/in1.txt hdfs:///tmp/temp_table_external/; diff --git a/ql/src/test/queries/clientpositive/temp_table_gb1.q b/ql/src/test/queries/clientpositive/temp_table_gb1.q index a7e40b7..e736136 100644 --- a/ql/src/test/queries/clientpositive/temp_table_gb1.q +++ b/ql/src/test/queries/clientpositive/temp_table_gb1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.map.aggr=false; @@ -5,7 +39,7 @@ set hive.groupby.skewindata=true; -- Taken from groupby2.q CREATE TABLE dest_g2(key STRING, c1 INT, c2 STRING) STORED AS TEXTFILE; -CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src; +CREATE TEMPORARY TABLE src_temp AS SELECT * FROM `s/c`; FROM src_temp INSERT OVERWRITE TABLE dest_g2 SELECT substr(src_temp.key,1,1), count(DISTINCT substr(src_temp.value,5)), concat(substr(src_temp.key,1,1),sum(substr(src_temp.value,5))) GROUP BY substr(src_temp.key,1,1); diff --git a/ql/src/test/queries/clientpositive/temp_table_join1.q b/ql/src/test/queries/clientpositive/temp_table_join1.q index e1b7e15..a8a06b7 100644 --- a/ql/src/test/queries/clientpositive/temp_table_join1.q +++ b/ql/src/test/queries/clientpositive/temp_table_join1.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -CREATE TABLE src_nontemp AS SELECT * FROM src limit 10; -CREATE TEMPORARY TABLE src_temp AS SELECT * FROM src limit 10; +CREATE TABLE src_nontemp AS SELECT * FROM `s/c` limit 10; +CREATE TEMPORARY TABLE src_temp AS SELECT * FROM `s/c` limit 10; -- Non temp table join EXPLAIN diff --git a/ql/src/test/queries/clientpositive/temp_table_names.q b/ql/src/test/queries/clientpositive/temp_table_names.q index bac26d3..db84f52 100644 --- a/ql/src/test/queries/clientpositive/temp_table_names.q +++ b/ql/src/test/queries/clientpositive/temp_table_names.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test temp tables with upper/lower case names create temporary table Default.Temp_Table_Names (C1 string, c2 string); diff --git a/ql/src/test/queries/clientpositive/temp_table_options1.q b/ql/src/test/queries/clientpositive/temp_table_options1.q index b336267..08cbd3e 100644 --- a/ql/src/test/queries/clientpositive/temp_table_options1.q +++ b/ql/src/test/queries/clientpositive/temp_table_options1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Delimiter test, taken from delimiter.q create temporary table impressions (imp string, msg string) row format delimited diff --git a/ql/src/test/queries/clientpositive/temp_table_precedence.q b/ql/src/test/queries/clientpositive/temp_table_precedence.q index 971af73..2078f4f 100644 --- a/ql/src/test/queries/clientpositive/temp_table_precedence.q +++ b/ql/src/test/queries/clientpositive/temp_table_precedence.q @@ -1,19 +1,53 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database ttp; -- Create non-temp tables create table ttp.tab1 (a1 string, a2 string); -insert overwrite table ttp.tab1 select * from src where key = 5 limit 5; +insert overwrite table ttp.tab1 select * from `s/c` where key = 5 limit 5; describe ttp.tab1; select * from ttp.tab1; create table ttp.tab2 (b1 string, b2 string); -insert overwrite table ttp.tab2 select * from src where key = 2 limit 5; +insert overwrite table ttp.tab2 select * from `s/c` where key = 2 limit 5; describe ttp.tab2; select * from ttp.tab2; -- Now create temp table with same name create temporary table ttp.tab1 (c1 int, c2 string); -insert overwrite table ttp.tab1 select * from src where key = 0 limit 5; +insert overwrite table ttp.tab1 select * from `s/c` where key = 0 limit 5; -- describe/select should now use temp table describe ttp.tab1; diff --git a/ql/src/test/queries/clientpositive/temp_table_subquery1.q b/ql/src/test/queries/clientpositive/temp_table_subquery1.q index ecf53e9..55c8dab 100644 --- a/ql/src/test/queries/clientpositive/temp_table_subquery1.q +++ b/ql/src/test/queries/clientpositive/temp_table_subquery1.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; -create temporary table src_temp as select * from src; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + + +create temporary table src_temp as select * from `s/c`; -- subquery exists select * diff --git a/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q b/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q index b227048..368e4de 100644 --- a/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q +++ b/ql/src/test/queries/clientpositive/temp_table_windowing_expressions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create temporary table over10k( diff --git a/ql/src/test/queries/clientpositive/test_boolean_whereclause.q b/ql/src/test/queries/clientpositive/test_boolean_whereclause.q index a4f0fdb..d96866a 100644 --- a/ql/src/test/queries/clientpositive/test_boolean_whereclause.q +++ b/ql/src/test/queries/clientpositive/test_boolean_whereclause.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table if not exists test_boolean(dummy tinyint); -insert overwrite table test_boolean select 1 from src tablesample (1 rows); +insert overwrite table test_boolean select 1 from `s/c` tablesample (1 rows); SELECT 1 FROM ( diff --git a/ql/src/test/queries/clientpositive/tez_bmj_schema_evolution.q b/ql/src/test/queries/clientpositive/tez_bmj_schema_evolution.q index a06bb82..6747f08 100644 --- a/ql/src/test/queries/clientpositive/tez_bmj_schema_evolution.q +++ b/ql/src/test/queries/clientpositive/tez_bmj_schema_evolution.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.enforce.bucketing=true; set hive.enforce.sorting = true; @@ -7,12 +41,12 @@ set hive.auto.convert.join.noconditionaltask.size=10000; create table test (key int, value string) partitioned by (p int) clustered by (key) into 2 buckets stored as textfile; create table test1 (key int, value string) stored as textfile; -insert into table test partition (p=1) select * from src; +insert into table test partition (p=1) select * from `s/c`; alter table test set fileformat orc; -insert into table test partition (p=2) select * from src; -insert into table test1 select * from src; +insert into table test partition (p=2) select * from `s/c`; +insert into table test1 select * from `s/c`; describe test; set hive.auto.convert.join = true; diff --git a/ql/src/test/queries/clientpositive/tez_dml.q b/ql/src/test/queries/clientpositive/tez_dml.q index 10c8854..0a41fd8 100644 --- a/ql/src/test/queries/clientpositive/tez_dml.q +++ b/ql/src/test/queries/clientpositive/tez_dml.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.exec.dynamic.partition.mode=nonstrict; -- CTAS -- SORT_QUERY_RESULTS -EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt; -CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt; +EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM `s/c` GROUP BY value) f1 ORDER BY cnt; +CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM `s/c` GROUP BY value) f1 ORDER BY cnt; SELECT * FROM tmp_src; @@ -21,11 +55,11 @@ CREATE TABLE even (c int, d string); CREATE TABLE odd (c int, d string); EXPLAIN -FROM src +FROM `s/c` INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0 INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1; -FROM src +FROM `s/c` INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0 INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1; diff --git a/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_1.q b/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_1.q index e3325c4..8711c95 100644 --- a/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_1.q +++ b/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=false; diff --git a/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_2.q b/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_2.q index af4e2b8..85cdfa6 100644 --- a/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_2.q +++ b/ql/src/test/queries/clientpositive/tez_dynpart_hashjoin_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=false; @@ -10,8 +44,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -21,8 +55,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -40,8 +74,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -51,8 +85,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -63,9 +97,9 @@ explain select a.* from - src b, + `s/c` b, alltypesorc a, - src c + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -74,9 +108,9 @@ order by a.csmallint, a.ctinyint, a.cint; select a.* from - src b, + `s/c` b, alltypesorc a, - src c + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) diff --git a/ql/src/test/queries/clientpositive/tez_fsstat.q b/ql/src/test/queries/clientpositive/tez_fsstat.q index 7f2e28f..2b35435 100644 --- a/ql/src/test/queries/clientpositive/tez_fsstat.q +++ b/ql/src/test/queries/clientpositive/tez_fsstat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.execution.engine=tez; CREATE TABLE tab_part (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; CREATE TABLE t1 (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/tez_insert_overwrite_local_directory_1.q b/ql/src/test/queries/clientpositive/tez_insert_overwrite_local_directory_1.q index e06403a..efd5541 100644 --- a/ql/src/test/queries/clientpositive/tez_insert_overwrite_local_directory_1.q +++ b/ql/src/test/queries/clientpositive/tez_insert_overwrite_local_directory_1.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + insert overwrite local directory '${system:test.tmp.dir}/tez_local_src_table_1' -select * from src order by key limit 10 ; +select * from `s/c` order by key limit 10 ; dfs -cat ${system:test.tmp.dir.uri}/tez_local_src_table_1/* ; dfs -rmr ${system:test.tmp.dir.uri}/tez_local_src_table_1/ ; diff --git a/ql/src/test/queries/clientpositive/tez_join.q b/ql/src/test/queries/clientpositive/tez_join.q index d590959..20bc4c6 100644 --- a/ql/src/test/queries/clientpositive/tez_join.q +++ b/ql/src/test/queries/clientpositive/tez_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.sortmerge.join = true; diff --git a/ql/src/test/queries/clientpositive/tez_join_hash.q b/ql/src/test/queries/clientpositive/tez_join_hash.q index 09a1d8b..53e4ba8 100644 --- a/ql/src/test/queries/clientpositive/tez_join_hash.q +++ b/ql/src/test/queries/clientpositive/tez_join_hash.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS create table orc_src (key string, value string) STORED AS ORC; -insert into table orc_src select * from src; +insert into table orc_src select * from `s/c`; set hive.execution.engine=tez; set hive.vectorized.execution.enabled=true; @@ -10,9 +44,9 @@ set hive.auto.convert.join.noconditionaltask.size=1; set hive.exec.reducers.bytes.per.reducer=20000; explain -SELECT count(*) FROM src, orc_src where src.key=orc_src.key; +SELECT count(*) FROM `s/c`, orc_src where `s/c`.key=orc_src.key; -SELECT count(*) FROM src, orc_src where src.key=orc_src.key; +SELECT count(*) FROM `s/c`, orc_src where `s/c`.key=orc_src.key; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; @@ -22,19 +56,19 @@ set hive.mapjoin.hybridgrace.minnumpartitions=8; explain select count(*) from (select x.key as key, y.value as value from -srcpart x join srcpart y on (x.key = y.key) +`s/cpart` x join `s/cpart` y on (x.key = y.key) union all -select key, value from srcpart z) a join src b on (a.value = b.value) group by a.key, a.value; +select key, value from `s/cpart` z) a join `s/c` b on (a.value = b.value) group by a.key, a.value; select key, count(*) from (select x.key as key, y.value as value from -srcpart x join srcpart y on (x.key = y.key) +`s/cpart` x join `s/cpart` y on (x.key = y.key) union all -select key, value from srcpart z) a join src b on (a.value = b.value) group by a.key, a.value; +select key, value from `s/cpart` z) a join `s/c` b on (a.value = b.value) group by a.key, a.value; set hive.execution.engine=mr; select key, count(*) from (select x.key as key, y.value as value from -srcpart x join srcpart y on (x.key = y.key) +`s/cpart` x join `s/cpart` y on (x.key = y.key) union all -select key, value from srcpart z) a join src b on (a.value = b.value) group by a.key, a.value; +select key, value from `s/cpart` z) a join `s/c` b on (a.value = b.value) group by a.key, a.value; diff --git a/ql/src/test/queries/clientpositive/tez_join_result_complex.q b/ql/src/test/queries/clientpositive/tez_join_result_complex.q index 5bc9151..7b78727 100644 --- a/ql/src/test/queries/clientpositive/tez_join_result_complex.q +++ b/ql/src/test/queries/clientpositive/tez_join_result_complex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.auto.convert.join=true; SET hive.auto.convert.join.noconditionaltask=true; SET hive.auto.convert.join.noconditionaltask.size=1000000000; @@ -63,7 +97,7 @@ b.svcrqst_id, b.svcrqct_cds, b.svcrtyp_cd, b.cmpltyp_cd, -b.sum_reason_cd as src, +b.sum_reason_cd as `s/c`, b.cnctmd_cd, b.notes from ct_events_clean a @@ -79,7 +113,7 @@ b.svcrqst_id, b.svcrqct_cds, b.svcrtyp_cd, b.cmpltyp_cd, -b.sum_reason_cd as src, +b.sum_reason_cd as `s/c`, b.cnctmd_cd, b.notes from ct_events_clean a @@ -99,7 +133,7 @@ b.svcrqst_id, b.svcrqct_cds, b.svcrtyp_cd, b.cmpltyp_cd, -b.sum_reason_cd as src, +b.sum_reason_cd as `s/c`, b.cnctmd_cd, b.notes from ct_events_clean a @@ -115,7 +149,7 @@ b.svcrqst_id, b.svcrqct_cds, b.svcrtyp_cd, b.cmpltyp_cd, -b.sum_reason_cd as src, +b.sum_reason_cd as `s/c`, b.cnctmd_cd, b.notes from ct_events_clean a diff --git a/ql/src/test/queries/clientpositive/tez_join_tests.q b/ql/src/test/queries/clientpositive/tez_join_tests.q index ff42f13..82e5bb9 100644 --- a/ql/src/test/queries/clientpositive/tez_join_tests.q +++ b/ql/src/test/queries/clientpositive/tez_join_tests.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS explain -select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key; +select * from (select b.key, b.value from src1 a left outer join `s/c` b on (a.key = b.key) order by b.key) x right outer join `s/c` c on (x.value = c.value) order by x.key; -select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key; -select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key; -select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key; -select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key; -select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key); -select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key); +select * from (select b.key, b.value from src1 a left outer join `s/c` b on (a.key = b.key) order by b.key) x right outer join `s/c` c on (x.value = c.value) order by x.key; +select * from (select b.key, b.value from src1 a left outer join `s/c` b on (a.key = b.key)) x right outer join `s/c` c on (x.value = c.value) order by x.key; +select * from src1 a left outer join `s/c` b on (a.key = b.key) right outer join `s/c` c on (a.value = c.value) order by a.key; +select * from src1 a left outer join `s/c` b on (a.key = b.key) left outer join `s/c` c on (a.value = c.value) order by a.key; +select * from src1 a left outer join `s/c` b on (a.key = b.key) join `s/c` c on (a.key = c.key); +select * from src1 a join `s/c` b on (a.key = b.key) join `s/c` c on (a.key = c.key); -select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key); +select count(*) from src1 a join `s/c` b on (a.key = b.key) join `s/c` c on (a.key = c.key); diff --git a/ql/src/test/queries/clientpositive/tez_joins_explain.q b/ql/src/test/queries/clientpositive/tez_joins_explain.q index 3187e79..6632a48 100644 --- a/ql/src/test/queries/clientpositive/tez_joins_explain.q +++ b/ql/src/test/queries/clientpositive/tez_joins_explain.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS explain -select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key; +select * from (select b.key, b.value from src1 a left outer join `s/c` b on (a.key = b.key) order by b.key) x right outer join `s/c` c on (x.value = c.value) order by x.key; -select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key; +select * from (select b.key, b.value from src1 a left outer join `s/c` b on (a.key = b.key) order by b.key) x right outer join `s/c` c on (x.value = c.value) order by x.key; diff --git a/ql/src/test/queries/clientpositive/tez_multi_union.q b/ql/src/test/queries/clientpositive/tez_multi_union.q index 9dd3c8d..3482b69 100644 --- a/ql/src/test/queries/clientpositive/tez_multi_union.q +++ b/ql/src/test/queries/clientpositive/tez_multi_union.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS select key from ( -select key from src +select key from `s/c` union all -select key from src +select key from `s/c` ) tab group by key union all -select key from src; +select key from `s/c`; diff --git a/ql/src/test/queries/clientpositive/tez_schema_evolution.q b/ql/src/test/queries/clientpositive/tez_schema_evolution.q index 632878a..dc68666 100644 --- a/ql/src/test/queries/clientpositive/tez_schema_evolution.q +++ b/ql/src/test/queries/clientpositive/tez_schema_evolution.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table test (key int, value string) partitioned by (p int) stored as textfile; -insert into table test partition (p=1) select * from src order by key limit 10; +insert into table test partition (p=1) select * from `s/c` order by key limit 10; alter table test set fileformat orc; -insert into table test partition (p=2) select * from src order by key limit 10; +insert into table test partition (p=2) select * from `s/c` order by key limit 10; describe test; diff --git a/ql/src/test/queries/clientpositive/tez_self_join.q b/ql/src/test/queries/clientpositive/tez_self_join.q index 093491d..2ee8fb8 100644 --- a/ql/src/test/queries/clientpositive/tez_self_join.q +++ b/ql/src/test/queries/clientpositive/tez_self_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; drop table if exists tez_self_join1; drop table if exists tez_self_join2; diff --git a/ql/src/test/queries/clientpositive/tez_smb_1.q b/ql/src/test/queries/clientpositive/tez_smb_1.q index 03a1fea..9f659ad 100644 --- a/ql/src/test/queries/clientpositive/tez_smb_1.q +++ b/ql/src/test/queries/clientpositive/tez_smb_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; set hive.join.emit.interval=2; diff --git a/ql/src/test/queries/clientpositive/tez_smb_main.q b/ql/src/test/queries/clientpositive/tez_smb_main.q index dff5112..d2a68c2 100644 --- a/ql/src/test/queries/clientpositive/tez_smb_main.q +++ b/ql/src/test/queries/clientpositive/tez_smb_main.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.join.emit.interval=2; explain -select * from src a join src1 b on a.key = b.key; +select * from `s/c` a join src1 b on a.key = b.key; -select * from src a join src1 b on a.key = b.key; +select * from `s/c` a join src1 b on a.key = b.key; set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask=true; diff --git a/ql/src/test/queries/clientpositive/tez_union.q b/ql/src/test/queries/clientpositive/tez_union.q index 2211f77..6a89a8a 100644 --- a/ql/src/test/queries/clientpositive/tez_union.q +++ b/ql/src/test/queries/clientpositive/tez_union.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=true; explain -select s1.key as key, s1.value as value from src s1 join src s3 on s1.key=s3.key +select s1.key as key, s1.value as value from `s/c` s1 join `s/c` s3 on s1.key=s3.key UNION ALL -select s2.key as key, s2.value as value from src s2; +select s2.key as key, s2.value as value from `s/c` s2; create table ut as -select s1.key as key, s1.value as value from src s1 join src s3 on s1.key=s3.key +select s1.key as key, s1.value as value from `s/c` s1 join `s/c` s3 on s1.key=s3.key UNION ALL -select s2.key as key, s2.value as value from src s2; +select s2.key as key, s2.value as value from `s/c` s2; select * from ut order by key, value limit 20; drop table ut; @@ -17,12 +51,12 @@ drop table ut; set hive.auto.convert.join=false; explain -with u as (select * from src union all select * from src) +with u as (select * from `s/c` union all select * from `s/c`) select count(*) from (select u1.key as k1, u2.key as k2 from u as u1 join u as u2 on (u1.key = u2.key)) a; create table ut as -with u as (select * from src union all select * from src) +with u as (select * from `s/c` union all select * from `s/c`) select count(*) as cnt from (select u1.key as k1, u2.key as k2 from u as u1 join u as u2 on (u1.key = u2.key)) a; @@ -32,32 +66,32 @@ drop table ut; set hive.auto.convert.join=true; explain select s1.key as skey, u1.key as ukey from -src s1 -join (select * from src union all select * from src) u1 on s1.key = u1.key; +`s/c` s1 +join (select * from `s/c` union all select * from `s/c`) u1 on s1.key = u1.key; create table ut as select s1.key as skey, u1.key as ukey from -src s1 -join (select * from src union all select * from src) u1 on s1.key = u1.key; +`s/c` s1 +join (select * from `s/c` union all select * from `s/c`) u1 on s1.key = u1.key; select * from ut order by skey, ukey limit 20; drop table ut; explain select s1.key as skey, u1.key as ukey, s8.key as lkey from -src s1 -join (select s2.key as key from src s2 join src s3 on s2.key = s3.key - union all select s4.key from src s4 join src s5 on s4.key = s5.key - union all select s6.key from src s6 join src s7 on s6.key = s7.key) u1 on (s1.key = u1.key) -join src s8 on (u1.key = s8.key) +`s/c` s1 +join (select s2.key as key from `s/c` s2 join `s/c` s3 on s2.key = s3.key + union all select s4.key from `s/c` s4 join `s/c` s5 on s4.key = s5.key + union all select s6.key from `s/c` s6 join `s/c` s7 on s6.key = s7.key) u1 on (s1.key = u1.key) +join `s/c` s8 on (u1.key = s8.key) order by lkey; create table ut as select s1.key as skey, u1.key as ukey, s8.key as lkey from -src s1 -join (select s2.key as key from src s2 join src s3 on s2.key = s3.key - union all select s4.key from src s4 join src s5 on s4.key = s5.key - union all select s6.key from src s6 join src s7 on s6.key = s7.key) u1 on (s1.key = u1.key) -join src s8 on (u1.key = s8.key) +`s/c` s1 +join (select s2.key as key from `s/c` s2 join `s/c` s3 on s2.key = s3.key + union all select s4.key from `s/c` s4 join `s/c` s5 on s4.key = s5.key + union all select s6.key from `s/c` s6 join `s/c` s7 on s6.key = s7.key) u1 on (s1.key = u1.key) +join `s/c` s8 on (u1.key = s8.key) order by lkey; select * from ut order by skey, ukey, lkey limit 100; @@ -65,12 +99,12 @@ select * from ut order by skey, ukey, lkey limit 100; drop table ut; explain -select s2.key as key from src s2 join src s3 on s2.key = s3.key -union all select s4.key from src s4 join src s5 on s4.key = s5.key; +select s2.key as key from `s/c` s2 join `s/c` s3 on s2.key = s3.key +union all select s4.key from `s/c` s4 join `s/c` s5 on s4.key = s5.key; create table ut as -select s2.key as key from src s2 join src s3 on s2.key = s3.key -union all select s4.key from src s4 join src s5 on s4.key = s5.key; +select s2.key as key from `s/c` s2 join `s/c` s3 on s2.key = s3.key +union all select s4.key from `s/c` s4 join `s/c` s5 on s4.key = s5.key; select * from ut order by key limit 30; @@ -78,18 +112,18 @@ drop table ut; explain select * from -(select * from src union all select * from src) u -left outer join src s on u.key = s.key; +(select * from `s/c` union all select * from `s/c`) u +left outer join `s/c` s on u.key = s.key; explain select u.key as ukey, s.key as skey from -(select * from src union all select * from src) u -right outer join src s on u.key = s.key; +(select * from `s/c` union all select * from `s/c`) u +right outer join `s/c` s on u.key = s.key; create table ut as select u.key as ukey, s.key as skey from -(select * from src union all select * from src) u -right outer join src s on u.key = s.key; +(select * from `s/c` union all select * from `s/c`) u +right outer join `s/c` s on u.key = s.key; select * from ut order by ukey, skey limit 20; drop table ut; diff --git a/ql/src/test/queries/clientpositive/tez_union2.q b/ql/src/test/queries/clientpositive/tez_union2.q index 22eab01..c57114b 100644 --- a/ql/src/test/queries/clientpositive/tez_union2.q +++ b/ql/src/test/queries/clientpositive/tez_union2.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; explain SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` UNION ALL SELECT key, key as value FROM ( SELECT distinct key FROM ( SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` UNION ALL - SELECT key, value FROM src + SELECT key, value FROM `s/c` )t1 group by key, value)t2 )t3 @@ -18,14 +52,14 @@ group by key, value; SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` UNION ALL SELECT key, key as value FROM ( SELECT distinct key FROM ( SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` UNION ALL - SELECT key, value FROM src + SELECT key, value FROM `s/c` )t1 group by key, value)t2 )t3 diff --git a/ql/src/test/queries/clientpositive/tez_union_decimal.q b/ql/src/test/queries/clientpositive/tez_union_decimal.q index 0f56e6a..f892611 100644 --- a/ql/src/test/queries/clientpositive/tez_union_decimal.q +++ b/ql/src/test/queries/clientpositive/tez_union_decimal.q @@ -1,37 +1,71 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select sum(a) from ( - select cast(1.1 as decimal) a from src tablesample (1 rows) + select cast(1.1 as decimal) a from `s/c` tablesample (1 rows) union all - select cast(null as decimal) a from src tablesample (1 rows) + select cast(null as decimal) a from `s/c` tablesample (1 rows) ) t; select sum(a) from ( - select cast(1 as tinyint) a from src tablesample (1 rows) + select cast(1 as tinyint) a from `s/c` tablesample (1 rows) union all - select cast(null as tinyint) a from src tablesample (1 rows) + select cast(null as tinyint) a from `s/c` tablesample (1 rows) union all - select cast(1.1 as decimal) a from src tablesample (1 rows) + select cast(1.1 as decimal) a from `s/c` tablesample (1 rows) ) t; select sum(a) from ( - select cast(1 as smallint) a from src tablesample (1 rows) + select cast(1 as smallint) a from `s/c` tablesample (1 rows) union all - select cast(null as smallint) a from src tablesample (1 rows) + select cast(null as smallint) a from `s/c` tablesample (1 rows) union all - select cast(1.1 as decimal) a from src tablesample (1 rows) + select cast(1.1 as decimal) a from `s/c` tablesample (1 rows) ) t; select sum(a) from ( - select cast(1 as int) a from src tablesample (1 rows) + select cast(1 as int) a from `s/c` tablesample (1 rows) union all - select cast(null as int) a from src tablesample (1 rows) + select cast(null as int) a from `s/c` tablesample (1 rows) union all - select cast(1.1 as decimal) a from src tablesample (1 rows) + select cast(1.1 as decimal) a from `s/c` tablesample (1 rows) ) t; select sum(a) from ( - select cast(1 as bigint) a from src tablesample (1 rows) + select cast(1 as bigint) a from `s/c` tablesample (1 rows) union all - select cast(null as bigint) a from src tablesample (1 rows) + select cast(null as bigint) a from `s/c` tablesample (1 rows) union all - select cast(1.1 as decimal) a from src tablesample (1 rows) + select cast(1.1 as decimal) a from `s/c` tablesample (1 rows) ) t; diff --git a/ql/src/test/queries/clientpositive/tez_union_dynamic_partition.q b/ql/src/test/queries/clientpositive/tez_union_dynamic_partition.q index e022d81..79c224a 100644 --- a/ql/src/test/queries/clientpositive/tez_union_dynamic_partition.q +++ b/ql/src/test/queries/clientpositive/tez_union_dynamic_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; create table dummy(i int); insert into table dummy values (1); diff --git a/ql/src/test/queries/clientpositive/tez_union_group_by.q b/ql/src/test/queries/clientpositive/tez_union_group_by.q index 200f38d..1b970fb 100644 --- a/ql/src/test/queries/clientpositive/tez_union_group_by.q +++ b/ql/src/test/queries/clientpositive/tez_union_group_by.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE x ( diff --git a/ql/src/test/queries/clientpositive/tez_union_multiinsert.q b/ql/src/test/queries/clientpositive/tez_union_multiinsert.q index 67a9ac5..41aa73b 100644 --- a/ql/src/test/queries/clientpositive/tez_union_multiinsert.q +++ b/ql/src/test/queries/clientpositive/tez_union_multiinsert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS @@ -8,11 +42,11 @@ CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; explain FROM ( select key, value from ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2) unionsub + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2) unionsub UNION all - select key, value from src s0 + select key, value from `s/c` s0 ) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) @@ -20,11 +54,11 @@ GROUP BY unionsrc.key, unionsrc.value; FROM ( select key, value from ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2) unionsub + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2) unionsub UNION all - select key, value from src s0 + select key, value from `s/c` s0 ) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) @@ -35,23 +69,23 @@ select * from DEST2; explain FROM ( - select key, value from src s0 + select key, value from `s/c` s0 UNION all select key, value from ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2) unionsub) unionsrc + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2) unionsub) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; FROM ( - select key, value from src s0 + select key, value from `s/c` s0 UNION all select key, value from ( - select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from src s1 + select 'tst1' as key, cast(count(1) as string) as value, 'tst1' as value2 from `s/c` s1 UNION all - select s2.key as key, s2.value as value, 'tst1' as value2 from src s2) unionsub) unionsrc + select s2.key as key, s2.value as value, 'tst1' as value2 from `s/c` s2) unionsub) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; @@ -62,21 +96,21 @@ select * from DEST2; explain FROM ( - select key, value from src s0 + select key, value from `s/c` s0 UNION all - select 'tst1' as key, cast(count(1) as string) as value from src s1 + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION all - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; FROM ( - select key, value from src s0 + select key, value from `s/c` s0 UNION all - select 'tst1' as key, cast(count(1) as string) as value from src s1 + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION all - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; @@ -85,16 +119,16 @@ select * from DEST1; select * from DEST2; explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION all - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION all - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; @@ -103,16 +137,16 @@ select * from DEST1; select * from DEST2; explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION distinct - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION distinct - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; diff --git a/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_1.q b/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_1.q index 65fee16..7a24c1b 100644 --- a/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_1.q +++ b/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=false; diff --git a/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_2.q b/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_2.q index 606f455..0d337a5 100644 --- a/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_2.q +++ b/ql/src/test/queries/clientpositive/tez_vector_dynpart_hashjoin_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.auto.convert.join=false; @@ -10,8 +44,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -21,8 +55,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -41,8 +75,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -52,8 +86,8 @@ select a.* from alltypesorc a, - src b, - src c + `s/c` b, + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -64,9 +98,9 @@ explain select a.* from - src b, + `s/c` b, alltypesorc a, - src c + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) @@ -75,9 +109,9 @@ order by a.csmallint, a.ctinyint, a.cint; select a.* from - src b, + `s/c` b, alltypesorc a, - src c + `s/c` c where a.csmallint = cast(b.key as int) and a.csmallint = (cast(c.key as int) + 0) and (a.csmallint < 100) diff --git a/ql/src/test/queries/clientpositive/timestamp_1.q b/ql/src/test/queries/clientpositive/timestamp_1.q index ce79eef..49d4841 100644 --- a/ql/src/test/queries/clientpositive/timestamp_1.q +++ b/ql/src/test/queries/clientpositive/timestamp_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table timestamp_1; @@ -6,7 +40,7 @@ create table timestamp_1 (t timestamp); alter table timestamp_1 set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'; insert overwrite table timestamp_1 - select cast('2011-01-01 01:01:01' as timestamp) from src tablesample (1 rows); + select cast('2011-01-01 01:01:01' as timestamp) from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; @@ -17,7 +51,7 @@ select cast(t as double) from timestamp_1 limit 1; select cast(t as string) from timestamp_1 limit 1; insert overwrite table timestamp_1 - select '2011-01-01 01:01:01' from src tablesample (1 rows); + select '2011-01-01 01:01:01' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; @@ -28,7 +62,7 @@ select cast(t as double) from timestamp_1 limit 1; select cast(t as string) from timestamp_1 limit 1; insert overwrite table timestamp_1 - select '2011-01-01 01:01:01.1' from src tablesample (1 rows); + select '2011-01-01 01:01:01.1' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; @@ -39,7 +73,7 @@ select cast(t as double) from timestamp_1 limit 1; select cast(t as string) from timestamp_1 limit 1; insert overwrite table timestamp_1 - select '2011-01-01 01:01:01.0001' from src tablesample (1 rows); + select '2011-01-01 01:01:01.0001' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; @@ -50,7 +84,7 @@ select cast(t as double) from timestamp_1 limit 1; select cast(t as string) from timestamp_1 limit 1; insert overwrite table timestamp_1 - select '2011-01-01 01:01:01.000100000' from src tablesample (1 rows); + select '2011-01-01 01:01:01.000100000' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; @@ -61,7 +95,7 @@ select cast(t as double) from timestamp_1 limit 1; select cast(t as string) from timestamp_1 limit 1; insert overwrite table timestamp_1 - select '2011-01-01 01:01:01.001000011' from src tablesample (1 rows); + select '2011-01-01 01:01:01.001000011' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_1 limit 1; select cast(t as tinyint) from timestamp_1 limit 1; select cast(t as smallint) from timestamp_1 limit 1; diff --git a/ql/src/test/queries/clientpositive/timestamp_2.q b/ql/src/test/queries/clientpositive/timestamp_2.q index 351f5ca..e3144f2 100644 --- a/ql/src/test/queries/clientpositive/timestamp_2.q +++ b/ql/src/test/queries/clientpositive/timestamp_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table timestamp_2; @@ -6,7 +40,7 @@ create table timestamp_2 (t timestamp); alter table timestamp_2 set serde 'org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe'; insert overwrite table timestamp_2 - select cast('2011-01-01 01:01:01' as timestamp) from src tablesample (1 rows); + select cast('2011-01-01 01:01:01' as timestamp) from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; @@ -17,7 +51,7 @@ select cast(t as double) from timestamp_2 limit 1; select cast(t as string) from timestamp_2 limit 1; insert overwrite table timestamp_2 - select '2011-01-01 01:01:01' from src tablesample (1 rows); + select '2011-01-01 01:01:01' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; @@ -28,7 +62,7 @@ select cast(t as double) from timestamp_2 limit 1; select cast(t as string) from timestamp_2 limit 1; insert overwrite table timestamp_2 - select '2011-01-01 01:01:01.1' from src tablesample (1 rows); + select '2011-01-01 01:01:01.1' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; @@ -39,7 +73,7 @@ select cast(t as double) from timestamp_2 limit 1; select cast(t as string) from timestamp_2 limit 1; insert overwrite table timestamp_2 - select '2011-01-01 01:01:01.0001' from src tablesample (1 rows); + select '2011-01-01 01:01:01.0001' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; @@ -50,7 +84,7 @@ select cast(t as double) from timestamp_2 limit 1; select cast(t as string) from timestamp_2 limit 1; insert overwrite table timestamp_2 - select '2011-01-01 01:01:01.000100000' from src tablesample (1 rows); + select '2011-01-01 01:01:01.000100000' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; @@ -61,7 +95,7 @@ select cast(t as double) from timestamp_2 limit 1; select cast(t as string) from timestamp_2 limit 1; insert overwrite table timestamp_2 - select '2011-01-01 01:01:01.001000011' from src tablesample (1 rows); + select '2011-01-01 01:01:01.001000011' from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_2 limit 1; select cast(t as tinyint) from timestamp_2 limit 1; select cast(t as smallint) from timestamp_2 limit 1; diff --git a/ql/src/test/queries/clientpositive/timestamp_3.q b/ql/src/test/queries/clientpositive/timestamp_3.q index 0e1a8d55..2b0a01d 100644 --- a/ql/src/test/queries/clientpositive/timestamp_3.q +++ b/ql/src/test/queries/clientpositive/timestamp_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table timestamp_3; @@ -6,7 +40,7 @@ create table timestamp_3 (t timestamp); alter table timestamp_3 set serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'; insert overwrite table timestamp_3 - select cast(cast('1.3041352164485E9' as double) as timestamp) from src tablesample (1 rows); + select cast(cast('1.3041352164485E9' as double) as timestamp) from `s/c` tablesample (1 rows); select cast(t as boolean) from timestamp_3 limit 1; select cast(t as tinyint) from timestamp_3 limit 1; select cast(t as smallint) from timestamp_3 limit 1; diff --git a/ql/src/test/queries/clientpositive/timestamp_comparison.q b/ql/src/test/queries/clientpositive/timestamp_comparison.q index 30fee3c..573c625 100644 --- a/ql/src/test/queries/clientpositive/timestamp_comparison.q +++ b/ql/src/test/queries/clientpositive/timestamp_comparison.q @@ -1,29 +1,63 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; select cast('2011-05-06 07:08:09' as timestamp) > - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) < - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) = - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) <> - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) >= - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) <= - cast('2011-05-06 07:08:09' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) >= - cast('2011-05-06 07:08:09.1' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09.1' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09' as timestamp) < - cast('2011-05-06 07:08:09.1' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09.1' as timestamp) from `s/c` limit 1; select cast('2011-05-06 07:08:09.1000' as timestamp) = - cast('2011-05-06 07:08:09.1' as timestamp) from src limit 1; + cast('2011-05-06 07:08:09.1' as timestamp) from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/timestamp_comparison2.q b/ql/src/test/queries/clientpositive/timestamp_comparison2.q index d41cc83..2d8cbbb 100644 --- a/ql/src/test/queries/clientpositive/timestamp_comparison2.q +++ b/ql/src/test/queries/clientpositive/timestamp_comparison2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test timestamp-to-numeric comparison select count(*) FROM alltypesorc diff --git a/ql/src/test/queries/clientpositive/timestamp_formats.q b/ql/src/test/queries/clientpositive/timestamp_formats.q index b187b40..363ec41 100644 --- a/ql/src/test/queries/clientpositive/timestamp_formats.q +++ b/ql/src/test/queries/clientpositive/timestamp_formats.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE timestamp_formats ( c1 string, diff --git a/ql/src/test/queries/clientpositive/timestamp_ints_casts.q b/ql/src/test/queries/clientpositive/timestamp_ints_casts.q index b043d59..c37712f 100644 --- a/ql/src/test/queries/clientpositive/timestamp_ints_casts.q +++ b/ql/src/test/queries/clientpositive/timestamp_ints_casts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.int.timestamp.conversion.in.seconds=false; explain diff --git a/ql/src/test/queries/clientpositive/timestamp_lazy.q b/ql/src/test/queries/clientpositive/timestamp_lazy.q index e9a0cfa..8c0c4d7 100644 --- a/ql/src/test/queries/clientpositive/timestamp_lazy.q +++ b/ql/src/test/queries/clientpositive/timestamp_lazy.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table timestamp_lazy; create table timestamp_lazy (t timestamp, key string, value string); -insert overwrite table timestamp_lazy select cast('2011-01-01 01:01:01' as timestamp), key, value from src tablesample (5 rows); +insert overwrite table timestamp_lazy select cast('2011-01-01 01:01:01' as timestamp), key, value from `s/c` tablesample (5 rows); select t,key,value from timestamp_lazy ORDER BY key ASC, value ASC; select t,key,value from timestamp_lazy distribute by t sort by key ASC, value ASC; diff --git a/ql/src/test/queries/clientpositive/timestamp_literal.q b/ql/src/test/queries/clientpositive/timestamp_literal.q index 2a7b91b..67f3114 100644 --- a/ql/src/test/queries/clientpositive/timestamp_literal.q +++ b/ql/src/test/queries/clientpositive/timestamp_literal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select timestamp '2011-01-01 01:01:01'; select timestamp '2011-01-01 01:01:01'; diff --git a/ql/src/test/queries/clientpositive/timestamp_null.q b/ql/src/test/queries/clientpositive/timestamp_null.q index 36f3541..d19b458 100644 --- a/ql/src/test/queries/clientpositive/timestamp_null.q +++ b/ql/src/test/queries/clientpositive/timestamp_null.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS timestamp_null; CREATE TABLE timestamp_null (t1 TIMESTAMP); LOAD DATA LOCAL INPATH '../../data/files/test.dat' OVERWRITE INTO TABLE timestamp_null; diff --git a/ql/src/test/queries/clientpositive/timestamp_udf.q b/ql/src/test/queries/clientpositive/timestamp_udf.q index ade9fb4..19957a5 100644 --- a/ql/src/test/queries/clientpositive/timestamp_udf.q +++ b/ql/src/test/queries/clientpositive/timestamp_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; drop table timestamp_udf; @@ -5,7 +39,7 @@ drop table timestamp_udf_string; create table timestamp_udf (t timestamp); create table timestamp_udf_string (t string); -from (select * from src tablesample (1 rows)) s +from (select * from `s/c` tablesample (1 rows)) s insert overwrite table timestamp_udf select '2011-05-06 07:08:09.1234567' insert overwrite table timestamp_udf_string diff --git a/ql/src/test/queries/clientpositive/touch.q b/ql/src/test/queries/clientpositive/touch.q index 6686b68..77c031c 100644 --- a/ql/src/test/queries/clientpositive/touch.q +++ b/ql/src/test/queries/clientpositive/touch.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create database tc; -create table tc.tstsrc like default.src; -insert overwrite table tc.tstsrc select key, value from default.src; +create table tc.tstsrc like default.`s/c`; +insert overwrite table tc.tstsrc select key, value from default.`s/c`; -create table tc.tstsrcpart like default.srcpart; +create table tc.tstsrcpart like default.`s/cpart`; insert overwrite table tc.tstsrcpart partition (ds='2008-04-08', hr='12') -select key, value from default.srcpart where ds='2008-04-08' and hr='12'; +select key, value from default.`s/cpart` where ds='2008-04-08' and hr='12'; ALTER TABLE tc.tstsrc TOUCH; ALTER TABLE tc.tstsrcpart TOUCH; diff --git a/ql/src/test/queries/clientpositive/transform1.q b/ql/src/test/queries/clientpositive/transform1.q index f2d23b9..f8de890 100644 --- a/ql/src/test/queries/clientpositive/transform1.q +++ b/ql/src/test/queries/clientpositive/transform1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.entity.capture.transform=true; @@ -14,7 +48,7 @@ SELECT transform(*) USING 'cat' AS (col array) FROM transform1_t1; create table transform1_t2(col array); insert overwrite table transform1_t2 -select array(1,2,3) from src tablesample (1 rows); +select array(1,2,3) from `s/c` tablesample (1 rows); EXPLAIN SELECT transform('0\0021\0022') USING 'cat' AS (col array) FROM transform1_t2; diff --git a/ql/src/test/queries/clientpositive/transform2.q b/ql/src/test/queries/clientpositive/transform2.q index ddbc567..a2c1583 100644 --- a/ql/src/test/queries/clientpositive/transform2.q +++ b/ql/src/test/queries/clientpositive/transform2.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Transform with a function that has many parameters -SELECT TRANSFORM(substr(key, 1, 2)) USING 'cat' FROM src LIMIT 1; +SELECT TRANSFORM(substr(key, 1, 2)) USING 'cat' FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/transform_acid.q b/ql/src/test/queries/clientpositive/transform_acid.q index 94782f1..99a4af3 100644 --- a/ql/src/test/queries/clientpositive/transform_acid.q +++ b/ql/src/test/queries/clientpositive/transform_acid.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.entity.capture.transform=true; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; @@ -9,6 +43,6 @@ create table transform_acid(a int, b varchar(128)) clustered by (a) into 2 bucke insert into table transform_acid select cint, cast(cstring1 as varchar(128)) from alltypesorc where cint < 0 order by cint limit 1; -ADD FILE ../../ql/src/test/scripts/transform_acid_grep.sh; +ADD FILE ../../ql/`s/c`/test/scripts/transform_acid_grep.sh; SELECT transform(*) USING 'transform_acid_grep.sh' AS (col string) FROM transform_acid; diff --git a/ql/src/test/queries/clientpositive/transform_ppr1.q b/ql/src/test/queries/clientpositive/transform_ppr1.q index 5156aba..fb88d85 100644 --- a/ql/src/test/queries/clientpositive/transform_ppr1.q +++ b/ql/src/test/queries/clientpositive/transform_ppr1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.entity.capture.transform=true; @@ -5,16 +39,16 @@ set hive.entity.capture.transform=true; EXPLAIN EXTENDED FROM ( - FROM srcpart src - SELECT TRANSFORM(src.ds, src.key, src.value) + FROM `s/cpart` `s/c` + SELECT TRANSFORM(`s/c`.ds, `s/c`.key, `s/c`.value) USING 'cat' AS (ds, tkey, tvalue) CLUSTER BY tkey ) tmap SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100 AND tmap.ds = '2008-04-08'; FROM ( - FROM srcpart src - SELECT TRANSFORM(src.ds, src.key, src.value) + FROM `s/cpart` `s/c` + SELECT TRANSFORM(`s/c`.ds, `s/c`.key, `s/c`.value) USING 'cat' AS (ds, tkey, tvalue) CLUSTER BY tkey ) tmap diff --git a/ql/src/test/queries/clientpositive/transform_ppr2.q b/ql/src/test/queries/clientpositive/transform_ppr2.q index 6dbaca1..5e7fb6c 100644 --- a/ql/src/test/queries/clientpositive/transform_ppr2.q +++ b/ql/src/test/queries/clientpositive/transform_ppr2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; set hive.entity.capture.transform=true; @@ -5,19 +39,19 @@ set hive.entity.capture.transform=true; EXPLAIN EXTENDED FROM ( - FROM srcpart src - SELECT TRANSFORM(src.ds, src.key, src.value) + FROM `s/cpart` `s/c` + SELECT TRANSFORM(`s/c`.ds, `s/c`.key, `s/c`.value) USING 'cat' AS (ds, tkey, tvalue) - WHERE src.ds = '2008-04-08' + WHERE `s/c`.ds = '2008-04-08' CLUSTER BY tkey ) tmap SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; FROM ( - FROM srcpart src - SELECT TRANSFORM(src.ds, src.key, src.value) + FROM `s/cpart` `s/c` + SELECT TRANSFORM(`s/c`.ds, `s/c`.key, `s/c`.value) USING 'cat' AS (ds, tkey, tvalue) - WHERE src.ds = '2008-04-08' + WHERE `s/c`.ds = '2008-04-08' CLUSTER BY tkey ) tmap SELECT tmap.tkey, tmap.tvalue WHERE tmap.tkey < 100; diff --git a/ql/src/test/queries/clientpositive/truncate_column.q b/ql/src/test/queries/clientpositive/truncate_column.q index 0bfb23e..0365152 100644 --- a/ql/src/test/queries/clientpositive/truncate_column.q +++ b/ql/src/test/queries/clientpositive/truncate_column.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests truncating column(s) from a table, also tests that stats are updated CREATE TABLE test_tab (key STRING, value STRING) @@ -5,7 +39,7 @@ ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe' STORED A set hive.stats.autogather=true; -INSERT OVERWRITE TABLE test_tab SELECT * FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_tab SELECT * FROM `s/c` tablesample (10 rows); DESC FORMATTED test_tab; @@ -20,7 +54,7 @@ DESC FORMATTED test_tab; SELECT * FROM test_tab ORDER BY value; -- Truncate multiple columns -INSERT OVERWRITE TABLE test_tab SELECT * FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_tab SELECT * FROM `s/c` tablesample (10 rows); TRUNCATE TABLE test_tab COLUMNS (key, value); @@ -40,7 +74,7 @@ SELECT * FROM test_tab ORDER BY value; -- Test truncating with a binary serde ALTER TABLE test_tab SET SERDE 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'; -INSERT OVERWRITE TABLE test_tab SELECT * FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_tab SELECT * FROM `s/c` tablesample (10 rows); DESC FORMATTED test_tab; @@ -65,7 +99,7 @@ SELECT * FROM test_tab ORDER BY value; -- Test truncating a partition CREATE TABLE test_tab_part (key STRING, value STRING) PARTITIONED BY (part STRING) STORED AS RCFILE; -INSERT OVERWRITE TABLE test_tab_part PARTITION (part = '1') SELECT * FROM src tablesample (10 rows); +INSERT OVERWRITE TABLE test_tab_part PARTITION (part = '1') SELECT * FROM `s/c` tablesample (10 rows); DESC FORMATTED test_tab_part PARTITION (part = '1'); diff --git a/ql/src/test/queries/clientpositive/truncate_column_buckets.q b/ql/src/test/queries/clientpositive/truncate_column_buckets.q index a2ce215..d66f7b0 100644 --- a/ql/src/test/queries/clientpositive/truncate_column_buckets.q +++ b/ql/src/test/queries/clientpositive/truncate_column_buckets.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests truncating columns from a bucketed table, table should remain bucketed CREATE TABLE test_tab (key STRING, value STRING) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS RCFILE; set hive.enforce.bucketing=true; -INSERT OVERWRITE TABLE test_tab SELECT * FROM src; +INSERT OVERWRITE TABLE test_tab SELECT * FROM `s/c`; -- Check how many rows there are in each bucket, there should be two rows SELECT cnt FROM ( diff --git a/ql/src/test/queries/clientpositive/truncate_column_list_bucket.q b/ql/src/test/queries/clientpositive/truncate_column_list_bucket.q index 87289f0..b936b5f 100644 --- a/ql/src/test/queries/clientpositive/truncate_column_list_bucket.q +++ b/ql/src/test/queries/clientpositive/truncate_column_list_bucket.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.mapred.supports.subdirectories=true; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set hive.merge.mapfiles=false; @@ -14,7 +48,7 @@ ALTER TABLE test_tab SKEWED BY (key) ON ("484") STORED AS DIRECTORIES; -INSERT OVERWRITE TABLE test_tab PARTITION (part = '1') SELECT * FROM src; +INSERT OVERWRITE TABLE test_tab PARTITION (part = '1') SELECT * FROM `s/c`; set hive.optimize.listbucketing=true; SELECT * FROM test_tab WHERE part = '1' AND key = '0'; diff --git a/ql/src/test/queries/clientpositive/truncate_column_merge.q b/ql/src/test/queries/clientpositive/truncate_column_merge.q index 7a59efc..8363f6d 100644 --- a/ql/src/test/queries/clientpositive/truncate_column_merge.q +++ b/ql/src/test/queries/clientpositive/truncate_column_merge.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests truncating a column from a table with multiple files, then merging those files CREATE TABLE test_tab (key STRING, value STRING) STORED AS RCFILE; -INSERT OVERWRITE TABLE test_tab SELECT * FROM src tablesample (5 rows); +INSERT OVERWRITE TABLE test_tab SELECT * FROM `s/c` tablesample (5 rows); -INSERT INTO TABLE test_tab SELECT * FROM src tablesample (5 rows); +INSERT INTO TABLE test_tab SELECT * FROM `s/c` tablesample (5 rows); -- The value should be 2 indicating the table has 2 files SELECT COUNT(DISTINCT INPUT__FILE__NAME) FROM test_tab; diff --git a/ql/src/test/queries/clientpositive/truncate_table.q b/ql/src/test/queries/clientpositive/truncate_table.q index 6a1ce7a..15c1cf2 100644 --- a/ql/src/test/queries/clientpositive/truncate_table.q +++ b/ql/src/test/queries/clientpositive/truncate_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src_truncate (key string, value string); load data local inpath '../../data/files/kv1.txt' into table src_truncate;; diff --git a/ql/src/test/queries/clientpositive/type_cast_1.q b/ql/src/test/queries/clientpositive/type_cast_1.q index 4d1d978..ad23570 100644 --- a/ql/src/test/queries/clientpositive/type_cast_1.q +++ b/ql/src/test/queries/clientpositive/type_cast_1.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN -SELECT IF(false, 1, cast(2 as smallint)) + 3 FROM src LIMIT 1; +SELECT IF(false, 1, cast(2 as smallint)) + 3 FROM `s/c` LIMIT 1; -SELECT IF(false, 1, cast(2 as smallint)) + 3 FROM src LIMIT 1; +SELECT IF(false, 1, cast(2 as smallint)) + 3 FROM `s/c` LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/type_conversions_1.q b/ql/src/test/queries/clientpositive/type_conversions_1.q index 4c4a828..3f6b858 100644 --- a/ql/src/test/queries/clientpositive/type_conversions_1.q +++ b/ql/src/test/queries/clientpositive/type_conversions_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- casting from null should yield null @@ -15,11 +49,11 @@ select cast(null as varchar(10)), cast(null as boolean), cast(null as binary) -from src limit 1; +from `s/c` limit 1; -- Invalid conversions, should all be null select cast('abcd' as date), cast('abcd' as timestamp) -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/type_widening.q b/ql/src/test/queries/clientpositive/type_widening.q index b18c014..baf7a6a 100644 --- a/ql/src/test/queries/clientpositive/type_widening.q +++ b/ql/src/test/queries/clientpositive/type_widening.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Check for int, bigint automatic type widening conversions in UDFs, UNIONS -EXPLAIN SELECT COALESCE(0, 9223372036854775807) FROM src LIMIT 1; -SELECT COALESCE(0, 9223372036854775807) FROM src LIMIT 1; +EXPLAIN SELECT COALESCE(0, 9223372036854775807) FROM `s/c` LIMIT 1; +SELECT COALESCE(0, 9223372036854775807) FROM `s/c` LIMIT 1; -EXPLAIN SELECT * FROM (SELECT 0 AS numcol FROM src UNION ALL SELECT 9223372036854775807 AS numcol FROM src) a ORDER BY numcol; -SELECT * FROM (SELECT 0 AS numcol FROM src UNION ALL SELECT 9223372036854775807 AS numcol FROM src) a ORDER BY numcol; +EXPLAIN SELECT * FROM (SELECT 0 AS numcol FROM `s/c` UNION ALL SELECT 9223372036854775807 AS numcol FROM `s/c`) a ORDER BY numcol; +SELECT * FROM (SELECT 0 AS numcol FROM `s/c` UNION ALL SELECT 9223372036854775807 AS numcol FROM `s/c`) a ORDER BY numcol; diff --git a/ql/src/test/queries/clientpositive/uber_reduce.q b/ql/src/test/queries/clientpositive/uber_reduce.q index 34d5a12..f74e195 100644 --- a/ql/src/test/queries/clientpositive/uber_reduce.q +++ b/ql/src/test/queries/clientpositive/uber_reduce.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET mapreduce.job.ubertask.enable=true; SET mapreduce.job.ubertask.maxreduces=1; SET mapred.reduce.tasks=1; diff --git a/ql/src/test/queries/clientpositive/udaf_collect_set.q b/ql/src/test/queries/clientpositive/udaf_collect_set.q index 04bea32..1e99758 100644 --- a/ql/src/test/queries/clientpositive/udaf_collect_set.q +++ b/ql/src/test/queries/clientpositive/udaf_collect_set.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION collect_set; DESCRIBE FUNCTION EXTENDED collect_set; @@ -8,34 +42,34 @@ set hive.map.aggr = false; set hive.groupby.skewindata = false; SELECT key, collect_set(value) -FROM src +FROM `s/c` GROUP BY key ORDER BY key limit 20; SELECT key, collect_list(value) -FROM src +FROM `s/c` GROUP BY key ORDER by key limit 20; set hive.map.aggr = true; set hive.groupby.skewindata = false; SELECT key, collect_set(value) -FROM src +FROM `s/c` GROUP BY key ORDER BY key limit 20; SELECT key, collect_list(value) -FROM src +FROM `s/c` GROUP BY key ORDER BY key limit 20; set hive.map.aggr = false; set hive.groupby.skewindata = true; SELECT key, collect_set(value) -FROM src +FROM `s/c` GROUP BY key ORDER BY key limit 20; set hive.map.aggr = true; set hive.groupby.skewindata = true; SELECT key, collect_set(value) -FROM src +FROM `s/c` GROUP BY key ORDER BY key limit 20; diff --git a/ql/src/test/queries/clientpositive/udaf_collect_set_2.q b/ql/src/test/queries/clientpositive/udaf_collect_set_2.q index d18509b..dc169ef 100644 --- a/ql/src/test/queries/clientpositive/udaf_collect_set_2.q +++ b/ql/src/test/queries/clientpositive/udaf_collect_set_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.sql11.reserved.keywords=false; DESCRIBE FUNCTION collect_set; diff --git a/ql/src/test/queries/clientpositive/udaf_context_ngrams.q b/ql/src/test/queries/clientpositive/udaf_context_ngrams.q index f065385..e21a29b 100644 --- a/ql/src/test/queries/clientpositive/udaf_context_ngrams.q +++ b/ql/src/test/queries/clientpositive/udaf_context_ngrams.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE kafka (contents STRING); LOAD DATA LOCAL INPATH '../../data/files/text-en.txt' INTO TABLE kafka; set mapred.reduce.tasks=1; diff --git a/ql/src/test/queries/clientpositive/udaf_corr.q b/ql/src/test/queries/clientpositive/udaf_corr.q index a2edec4..408b2f4 100644 --- a/ql/src/test/queries/clientpositive/udaf_corr.q +++ b/ql/src/test/queries/clientpositive/udaf_corr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE covar_tab; CREATE TABLE covar_tab (a INT, b INT, c INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' diff --git a/ql/src/test/queries/clientpositive/udaf_covar_pop.q b/ql/src/test/queries/clientpositive/udaf_covar_pop.q index e5879d4..6b085c7 100644 --- a/ql/src/test/queries/clientpositive/udaf_covar_pop.q +++ b/ql/src/test/queries/clientpositive/udaf_covar_pop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE covar_tab; CREATE TABLE covar_tab (a INT, b INT, c INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' diff --git a/ql/src/test/queries/clientpositive/udaf_covar_samp.q b/ql/src/test/queries/clientpositive/udaf_covar_samp.q index 61f951a..5f1e872 100644 --- a/ql/src/test/queries/clientpositive/udaf_covar_samp.q +++ b/ql/src/test/queries/clientpositive/udaf_covar_samp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE covar_tab; CREATE TABLE covar_tab (a INT, b INT, c INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' diff --git a/ql/src/test/queries/clientpositive/udaf_histogram_numeric.q b/ql/src/test/queries/clientpositive/udaf_histogram_numeric.q index 18bcd1c..9095d55 100644 --- a/ql/src/test/queries/clientpositive/udaf_histogram_numeric.q +++ b/ql/src/test/queries/clientpositive/udaf_histogram_numeric.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 2) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 3) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 20) FROM src; -SELECT histogram_numeric(cast(substr(src.value,5) AS double), 200) FROM src; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + + +SELECT histogram_numeric(cast(substr(`s/c`.value,5) AS double), 2) FROM `s/c`; +SELECT histogram_numeric(cast(substr(`s/c`.value,5) AS double), 3) FROM `s/c`; +SELECT histogram_numeric(cast(substr(`s/c`.value,5) AS double), 20) FROM `s/c`; +SELECT histogram_numeric(cast(substr(`s/c`.value,5) AS double), 200) FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/udaf_ngrams.q b/ql/src/test/queries/clientpositive/udaf_ngrams.q index 6a2fde5..9b4f4f4 100644 --- a/ql/src/test/queries/clientpositive/udaf_ngrams.q +++ b/ql/src/test/queries/clientpositive/udaf_ngrams.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE kafka (contents STRING); LOAD DATA LOCAL INPATH '../../data/files/text-en.txt' INTO TABLE kafka; set mapred.reduce.tasks=1; diff --git a/ql/src/test/queries/clientpositive/udaf_number_format.q b/ql/src/test/queries/clientpositive/udaf_number_format.q index 4f2ab45..8cb90ec 100644 --- a/ql/src/test/queries/clientpositive/udaf_number_format.q +++ b/ql/src/test/queries/clientpositive/udaf_number_format.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT sum('a'), avg('a'), variance('a'), std('a') -FROM src; +FROM `s/c`; SELECT sum('a'), avg('a'), variance('a'), std('a') -FROM src; +FROM `s/c`; diff --git a/ql/src/test/queries/clientpositive/udaf_percentile.q b/ql/src/test/queries/clientpositive/udaf_percentile.q index 8ebf01d..8b5363c 100644 --- a/ql/src/test/queries/clientpositive/udaf_percentile.q +++ b/ql/src/test/queries/clientpositive/udaf_percentile.q @@ -1 +1,35 @@ -select percentile(cast(key as bigint), 0.3) from src; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +select percentile(cast(key as bigint), 0.3) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/udaf_percentile_approx_20.q b/ql/src/test/queries/clientpositive/udaf_percentile_approx_20.q index 7aae8ae..7133fb0 100644 --- a/ql/src/test/queries/clientpositive/udaf_percentile_approx_20.q +++ b/ql/src/test/queries/clientpositive/udaf_percentile_approx_20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS( 0.20S) CREATE TABLE bucket (key double, value string) CLUSTERED BY (key) SORTED BY (key DESC) INTO 4 BUCKETS STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/udaf_percentile_approx_23.q b/ql/src/test/queries/clientpositive/udaf_percentile_approx_23.q index 3685b1e..90e63a5 100644 --- a/ql/src/test/queries/clientpositive/udaf_percentile_approx_23.q +++ b/ql/src/test/queries/clientpositive/udaf_percentile_approx_23.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- INCLUDE_HADOOP_MAJOR_VERSIONS(0.23) -- 0.23 changed input order of data in reducer task, which affects result of percentile_approx diff --git a/ql/src/test/queries/clientpositive/udaf_sum_list.q b/ql/src/test/queries/clientpositive/udaf_sum_list.q index 0d86a42..815c68a 100644 --- a/ql/src/test/queries/clientpositive/udaf_sum_list.q +++ b/ql/src/test/queries/clientpositive/udaf_sum_list.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-5279 -- GenericUDAFSumList has Converter which does not have default constructor -- After create temporary function sum_list as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSumList'; -select sum_list(array(key, key)) from src; +select sum_list(array(key, key)) from `s/c`; diff --git a/ql/src/test/queries/clientpositive/udf1.q b/ql/src/test/queries/clientpositive/udf1.q index 2292c3f..8e59a6e 100644 --- a/ql/src/test/queries/clientpositive/udf1.q +++ b/ql/src/test/queries/clientpositive/udf1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING, c4 STRING, c5 STRING, c6 STRING, c7 STRING, c8 STRING, c9 STRING, c10 STRING, c11 STRING, c12 STRING, c13 STRING, @@ -5,20 +39,20 @@ CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING, c4 STRING, c18 STRING, c19 STRING, c20 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT 'a' LIKE '%a%', 'b' LIKE '%a%', 'ab' LIKE '%a%', 'ab' LIKE '%a_', +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT 'a' LIKE '%a%', 'b' LIKE '%a%', 'ab' LIKE '%a%', 'ab' LIKE '%a_', '%_' LIKE '\%\_', 'ab' LIKE '\%\_', 'ab' LIKE '_a%', 'ab' LIKE 'a', '' RLIKE '.*', 'a' RLIKE '[ab]', '' RLIKE '[ab]', 'hadoop' RLIKE '[a-z]*', 'hadoop' RLIKE 'o*', REGEXP_REPLACE('abc', 'b', 'c'), REGEXP_REPLACE('abc', 'z', 'a'), REGEXP_REPLACE('abbbb', 'bb', 'b'), REGEXP_REPLACE('hadoop', '(.)[a-z]*', '$1ive'), REGEXP_REPLACE('hadoopAAA','A.*',''), REGEXP_REPLACE('abc', '', 'A'), 'abc' RLIKE '' - WHERE src.key = 86; + WHERE `s/c`.key = 86; -FROM src INSERT OVERWRITE TABLE dest1 SELECT 'a' LIKE '%a%', 'b' LIKE '%a%', 'ab' LIKE '%a%', 'ab' LIKE '%a_', +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT 'a' LIKE '%a%', 'b' LIKE '%a%', 'ab' LIKE '%a%', 'ab' LIKE '%a_', '%_' LIKE '\%\_', 'ab' LIKE '\%\_', 'ab' LIKE '_a%', 'ab' LIKE 'a', '' RLIKE '.*', 'a' RLIKE '[ab]', '' RLIKE '[ab]', 'hadoop' RLIKE '[a-z]*', 'hadoop' RLIKE 'o*', REGEXP_REPLACE('abc', 'b', 'c'), REGEXP_REPLACE('abc', 'z', 'a'), REGEXP_REPLACE('abbbb', 'bb', 'b'), REGEXP_REPLACE('hadoop', '(.)[a-z]*', '$1ive'), REGEXP_REPLACE('hadoopAAA','A.*',''), REGEXP_REPLACE('abc', '', 'A'), 'abc' RLIKE '' - WHERE src.key = 86; + WHERE `s/c`.key = 86; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf2.q b/ql/src/test/queries/clientpositive/udf2.q index 5aa99e8..8e3e725 100644 --- a/ql/src/test/queries/clientpositive/udf2.q +++ b/ql/src/test/queries/clientpositive/udf2.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; EXPLAIN SELECT '|', trim(dest1.c1), '|', rtrim(dest1.c1), '|', ltrim(dest1.c1), '|' FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf3.q b/ql/src/test/queries/clientpositive/udf3.q index dcffeea..66b295e 100644 --- a/ql/src/test/queries/clientpositive/udf3.q +++ b/ql/src/test/queries/clientpositive/udf3.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING, c4 STRING, c5 STRING) STORED AS TEXTFILE; EXPLAIN -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(CAST('' AS INT)), sum(CAST('' AS INT)), avg(CAST('' AS INT)), +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(CAST('' AS INT)), sum(CAST('' AS INT)), avg(CAST('' AS INT)), min(CAST('' AS INT)), max(CAST('' AS INT)); -FROM src INSERT OVERWRITE TABLE dest1 SELECT count(CAST('' AS INT)), sum(CAST('' AS INT)), avg(CAST('' AS INT)), +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT count(CAST('' AS INT)), sum(CAST('' AS INT)), avg(CAST('' AS INT)), min(CAST('' AS INT)), max(CAST('' AS INT)); SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf4.q b/ql/src/test/queries/clientpositive/udf4.q index 16f5b2c..11481d2 100644 --- a/ql/src/test/queries/clientpositive/udf4.q +++ b/ql/src/test/queries/clientpositive/udf4.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; EXPLAIN SELECT round(1.0), round(1.5), round(-1.5), floor(1.0), floor(1.5), floor(-1.5), sqrt(1.0), sqrt(-1.0), sqrt(0.0), ceil(1.0), ceil(1.5), ceil(-1.5), ceiling(1.0), rand(3), +3, -3, 1++2, 1+-2, diff --git a/ql/src/test/queries/clientpositive/udf5.q b/ql/src/test/queries/clientpositive/udf5.q index 782e23d..e86b3c7 100644 --- a/ql/src/test/queries/clientpositive/udf5.q +++ b/ql/src/test/queries/clientpositive/udf5.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; EXPLAIN SELECT from_unixtime(1226446340), to_date(from_unixtime(1226446340)), day('2008-11-01'), month('2008-11-01'), year('2008-11-01'), day('2008-11-01 15:32:20'), month('2008-11-01 15:32:20'), year('2008-11-01 15:32:20') FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf6.q b/ql/src/test/queries/clientpositive/udf6.q index fd540d6..5919109 100644 --- a/ql/src/test/queries/clientpositive/udf6.q +++ b/ql/src/test/queries/clientpositive/udf6.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; EXPLAIN SELECT IF(TRUE, 1, 2) FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf7.q b/ql/src/test/queries/clientpositive/udf7.q index d12394e..8249c81 100644 --- a/ql/src/test/queries/clientpositive/udf7.q +++ b/ql/src/test/queries/clientpositive/udf7.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; EXPLAIN SELECT ROUND(LN(3.0),12), LN(0.0), LN(-1), ROUND(LOG(3.0),12), LOG(0.0), diff --git a/ql/src/test/queries/clientpositive/udf8.q b/ql/src/test/queries/clientpositive/udf8.q index a9e6963..cb88ddc 100644 --- a/ql/src/test/queries/clientpositive/udf8.q +++ b/ql/src/test/queries/clientpositive/udf8.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT '' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT '' WHERE `s/c`.key = 86; -FROM src INSERT OVERWRITE TABLE dest1 SELECT '1' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT '1' WHERE `s/c`.key = 86; EXPLAIN SELECT avg(c1), sum(c1), count(c1) FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf9.q b/ql/src/test/queries/clientpositive/udf9.q index 3b179b3..524026d 100644 --- a/ql/src/test/queries/clientpositive/udf9.q +++ b/ql/src/test/queries/clientpositive/udf9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT DATEDIFF('2008-12-31', '2009-01-01'), DATEDIFF('2008-03-01', '2008-02-28'), DATEDIFF('2007-03-01', '2007-01-28'), DATEDIFF('2008-03-01 23:59:59', '2008-03-02 00:00:00'), @@ -7,7 +41,7 @@ SELECT DATEDIFF('2008-12-31', '2009-01-01'), DATEDIFF('2008-03-01', '2008-02-28' DATE_SUB('2009-01-01', 1), DATE_SUB('2009-01-01', 365), DATE_SUB('2008-02-28', 2), DATE_SUB('2009-02-28', 2), DATE_SUB('2007-02-28', 365), DATE_SUB('2007-02-28 01:12:34', 730) - FROM src WHERE src.key = 86; + FROM `s/c` WHERE `s/c`.key = 86; SELECT DATEDIFF('2008-12-31', '2009-01-01'), DATEDIFF('2008-03-01', '2008-02-28'), DATEDIFF('2007-03-01', '2007-01-28'), DATEDIFF('2008-03-01 23:59:59', '2008-03-02 00:00:00'), @@ -17,4 +51,4 @@ SELECT DATEDIFF('2008-12-31', '2009-01-01'), DATEDIFF('2008-03-01', '2008-02-28' DATE_SUB('2009-01-01', 1), DATE_SUB('2009-01-01', 365), DATE_SUB('2008-03-01', 2), DATE_SUB('2009-03-01', 2), DATE_SUB('2007-02-28', 365), DATE_SUB('2007-02-28 01:12:34', 730) - FROM src WHERE src.key = 86; + FROM `s/c` WHERE `s/c`.key = 86; diff --git a/ql/src/test/queries/clientpositive/udf_10_trims.q b/ql/src/test/queries/clientpositive/udf_10_trims.q index 8a7e3a5..2449c35 100644 --- a/ql/src/test/queries/clientpositive/udf_10_trims.q +++ b/ql/src/test/queries/clientpositive/udf_10_trims.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; EXPLAIN INSERT OVERWRITE TABLE dest1 SELECT trim(trim(trim(trim(trim(trim(trim(trim(trim(trim( ' abc ')))))))))) -FROM src -WHERE src.key = 86; +FROM `s/c` +WHERE `s/c`.key = 86; INSERT OVERWRITE TABLE dest1 SELECT trim(trim(trim(trim(trim(trim(trim(trim(trim(trim( ' abc ')))))))))) -FROM src -WHERE src.key = 86; +FROM `s/c` +WHERE `s/c`.key = 86; diff --git a/ql/src/test/queries/clientpositive/udf_E.q b/ql/src/test/queries/clientpositive/udf_E.q index 41bdec0..efb11bc 100644 --- a/ql/src/test/queries/clientpositive/udf_E.q +++ b/ql/src/test/queries/clientpositive/udf_E.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; explain -select E() FROM src tablesample (1 rows); +select E() FROM `s/c` tablesample (1 rows); -select E() FROM src tablesample (1 rows); +select E() FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION E; DESCRIBE FUNCTION EXTENDED E; explain -select E() FROM src tablesample (1 rows); +select E() FROM `s/c` tablesample (1 rows); -select E() FROM src tablesample (1 rows); +select E() FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION E; DESCRIBE FUNCTION EXTENDED E; diff --git a/ql/src/test/queries/clientpositive/udf_PI.q b/ql/src/test/queries/clientpositive/udf_PI.q index 945483e..09b5b9d 100644 --- a/ql/src/test/queries/clientpositive/udf_PI.q +++ b/ql/src/test/queries/clientpositive/udf_PI.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; explain -select PI() FROM src tablesample (1 rows); +select PI() FROM `s/c` tablesample (1 rows); -select PI() FROM src tablesample (1 rows); +select PI() FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION PI; DESCRIBE FUNCTION EXTENDED PI; explain -select PI() FROM src tablesample (1 rows); +select PI() FROM `s/c` tablesample (1 rows); -select PI() FROM src tablesample (1 rows); +select PI() FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION PI; DESCRIBE FUNCTION EXTENDED PI; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_abs.q b/ql/src/test/queries/clientpositive/udf_abs.q index 0c06a5b..bbac9bc 100644 --- a/ql/src/test/queries/clientpositive/udf_abs.q +++ b/ql/src/test/queries/clientpositive/udf_abs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION abs; @@ -9,7 +43,7 @@ EXPLAIN SELECT abs(123), abs(-9223372036854775807), abs(9223372036854775807) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT abs(0), @@ -17,16 +51,16 @@ SELECT abs(123), abs(-9223372036854775807), abs(9223372036854775807) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); EXPLAIN SELECT abs(0.0), abs(-3.14159265), abs(3.14159265) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT abs(0.0), abs(-3.14159265), abs(3.14159265) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_acos.q b/ql/src/test/queries/clientpositive/udf_acos.q index f9adc16..85f23b9 100644 --- a/ql/src/test/queries/clientpositive/udf_acos.q +++ b/ql/src/test/queries/clientpositive/udf_acos.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION acos; DESCRIBE FUNCTION EXTENDED acos; SELECT acos(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT acos(0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT acos(-0.5), asin(0.66) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT acos(2) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_add.q b/ql/src/test/queries/clientpositive/udf_add.q index dbc3940..53972eb 100644 --- a/ql/src/test/queries/clientpositive/udf_add.q +++ b/ql/src/test/queries/clientpositive/udf_add.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION +; DESCRIBE FUNCTION EXTENDED +; diff --git a/ql/src/test/queries/clientpositive/udf_add_months.q b/ql/src/test/queries/clientpositive/udf_add_months.q index 48643ae..555549f 100644 --- a/ql/src/test/queries/clientpositive/udf_add_months.q +++ b/ql/src/test/queries/clientpositive/udf_add_months.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION add_months; DESCRIBE FUNCTION EXTENDED add_months; diff --git a/ql/src/test/queries/clientpositive/udf_aes_decrypt.q b/ql/src/test/queries/clientpositive/udf_aes_decrypt.q index 36a0cf9..0e9becc 100644 --- a/ql/src/test/queries/clientpositive/udf_aes_decrypt.q +++ b/ql/src/test/queries/clientpositive/udf_aes_decrypt.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION aes_decrypt; DESC FUNCTION EXTENDED aes_decrypt; diff --git a/ql/src/test/queries/clientpositive/udf_aes_encrypt.q b/ql/src/test/queries/clientpositive/udf_aes_encrypt.q index 2f03943..28332c8 100644 --- a/ql/src/test/queries/clientpositive/udf_aes_encrypt.q +++ b/ql/src/test/queries/clientpositive/udf_aes_encrypt.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION aes_encrypt; DESC FUNCTION EXTENDED aes_encrypt; diff --git a/ql/src/test/queries/clientpositive/udf_array.q b/ql/src/test/queries/clientpositive/udf_array.q index 5a6a183..42fdc54 100644 --- a/ql/src/test/queries/clientpositive/udf_array.q +++ b/ql/src/test/queries/clientpositive/udf_array.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION array; DESCRIBE FUNCTION EXTENDED array; EXPLAIN SELECT array(), array()[1], array(1, 2, 3), array(1, 2, 3)[2], array(1,"a", 2, 3), array(1,"a", 2, 3)[2], -array(array(1), array(2), array(3), array(4))[1][0] FROM src tablesample (1 rows); +array(array(1), array(2), array(3), array(4))[1][0] FROM `s/c` tablesample (1 rows); SELECT array(), array()[1], array(1, 2, 3), array(1, 2, 3)[2], array(1,"a", 2, 3), array(1,"a", 2, 3)[2], -array(array(1), array(2), array(3), array(4))[1][0] FROM src tablesample (1 rows); +array(array(1), array(2), array(3), array(4))[1][0] FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_array_contains.q b/ql/src/test/queries/clientpositive/udf_array_contains.q index d2dad64..b91df56 100644 --- a/ql/src/test/queries/clientpositive/udf_array_contains.q +++ b/ql/src/test/queries/clientpositive/udf_array_contains.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION array_contains; DESCRIBE FUNCTION EXTENDED array_contains; -- evalutes function for array of primitives -SELECT array_contains(array(1, 2, 3), 1) FROM src tablesample (1 rows); +SELECT array_contains(array(1, 2, 3), 1) FROM `s/c` tablesample (1 rows); -- evaluates function for nested arrays SELECT array_contains(array(array(1,2), array(2,3), array(3,4)), array(1,2)) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_ascii.q b/ql/src/test/queries/clientpositive/udf_ascii.q index 3d885a2..e133921 100644 --- a/ql/src/test/queries/clientpositive/udf_ascii.q +++ b/ql/src/test/queries/clientpositive/udf_ascii.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION ascii; @@ -7,10 +41,10 @@ EXPLAIN SELECT ascii('Facebook'), ascii(''), ascii('!') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT ascii('Facebook'), ascii(''), ascii('!') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_asin.q b/ql/src/test/queries/clientpositive/udf_asin.q index 73b77d1..10841f6 100644 --- a/ql/src/test/queries/clientpositive/udf_asin.q +++ b/ql/src/test/queries/clientpositive/udf_asin.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION asin; DESCRIBE FUNCTION EXTENDED asin; SELECT asin(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT asin(0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT asin(-0.5), asin(0.66) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT asin(2) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_atan.q b/ql/src/test/queries/clientpositive/udf_atan.q index 090438c..a8eddfd 100644 --- a/ql/src/test/queries/clientpositive/udf_atan.q +++ b/ql/src/test/queries/clientpositive/udf_atan.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION atan; DESCRIBE FUNCTION EXTENDED atan; SELECT atan(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT atan(1), atan(6), atan(-1.0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION atan; DESCRIBE FUNCTION EXTENDED atan; SELECT atan(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT atan(1), atan(6), atan(-1.0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_avg.q b/ql/src/test/queries/clientpositive/udf_avg.q index 5c95bc4..a3f9b10 100644 --- a/ql/src/test/queries/clientpositive/udf_avg.q +++ b/ql/src/test/queries/clientpositive/udf_avg.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION avg; DESCRIBE FUNCTION EXTENDED avg; diff --git a/ql/src/test/queries/clientpositive/udf_between.q b/ql/src/test/queries/clientpositive/udf_between.q index b22ee9c..7e04858 100644 --- a/ql/src/test/queries/clientpositive/udf_between.q +++ b/ql/src/test/queries/clientpositive/udf_between.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; describe function between; describe function extended between; -explain SELECT * FROM src where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20; -SELECT * FROM src where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20; +explain SELECT * FROM `s/c` where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20; +SELECT * FROM `s/c` where key + 100 between (150 + -50) AND (150 + 50) LIMIT 20; -explain SELECT * FROM src where key + 100 not between (150 + -50) AND (150 + 50) LIMIT 20; -SELECT * FROM src where key + 100 not between (150 + -50) AND (150 + 50) LIMIT 20; +explain SELECT * FROM `s/c` where key + 100 not between (150 + -50) AND (150 + 50) LIMIT 20; +SELECT * FROM `s/c` where key + 100 not between (150 + -50) AND (150 + 50) LIMIT 20; -explain SELECT * FROM src where 'b' between 'a' AND 'c' LIMIT 1; -SELECT * FROM src where 'b' between 'a' AND 'c' LIMIT 1; +explain SELECT * FROM `s/c` where 'b' between 'a' AND 'c' LIMIT 1; +SELECT * FROM `s/c` where 'b' between 'a' AND 'c' LIMIT 1; -explain SELECT * FROM src where 2 between 2 AND '3' LIMIT 1; -SELECT * FROM src where 2 between 2 AND '3' LIMIT 1; +explain SELECT * FROM `s/c` where 2 between 2 AND '3' LIMIT 1; +SELECT * FROM `s/c` where 2 between 2 AND '3' LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/udf_bigint.q b/ql/src/test/queries/clientpositive/udf_bigint.q index e430866..3baba36 100644 --- a/ql/src/test/queries/clientpositive/udf_bigint.q +++ b/ql/src/test/queries/clientpositive/udf_bigint.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION bigint; DESCRIBE FUNCTION EXTENDED bigint; diff --git a/ql/src/test/queries/clientpositive/udf_bin.q b/ql/src/test/queries/clientpositive/udf_bin.q index c5a7ac1..d415245 100644 --- a/ql/src/test/queries/clientpositive/udf_bin.q +++ b/ql/src/test/queries/clientpositive/udf_bin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION bin; @@ -7,7 +41,7 @@ SELECT bin(1), bin(0), bin(99992421) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Negative numbers should be treated as two's complement (64 bit). -SELECT bin(-5) FROM src tablesample (1 rows); +SELECT bin(-5) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_bitmap_and.q b/ql/src/test/queries/clientpositive/udf_bitmap_and.q index ed7711c..9fd8956 100644 --- a/ql/src/test/queries/clientpositive/udf_bitmap_and.q +++ b/ql/src/test/queries/clientpositive/udf_bitmap_and.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -select ewah_bitmap_and(array(13,2,4,8589934592,4096,0), array(13,2,4,8589934592,4096,0)) from src tablesample (1 rows); -select ewah_bitmap_and(array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0)) from src tablesample (1 rows); +select ewah_bitmap_and(array(13,2,4,8589934592,4096,0), array(13,2,4,8589934592,4096,0)) from `s/c` tablesample (1 rows); +select ewah_bitmap_and(array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0)) from `s/c` tablesample (1 rows); drop table bitmap_test; create table bitmap_test (a array, b array); insert overwrite table bitmap_test -select array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0) from src tablesample (10 rows); +select array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0) from `s/c` tablesample (10 rows); select ewah_bitmap_and(a,b) from bitmap_test; diff --git a/ql/src/test/queries/clientpositive/udf_bitmap_empty.q b/ql/src/test/queries/clientpositive/udf_bitmap_empty.q index 142b248..f4a39f5 100644 --- a/ql/src/test/queries/clientpositive/udf_bitmap_empty.q +++ b/ql/src/test/queries/clientpositive/udf_bitmap_empty.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -select ewah_bitmap_empty(array(13,2,4,8589934592,0,0)) from src tablesample (1 rows); +select ewah_bitmap_empty(array(13,2,4,8589934592,0,0)) from `s/c` tablesample (1 rows); -select ewah_bitmap_empty(array(13,2,4,8589934592,4096,0)) from src tablesample (1 rows); +select ewah_bitmap_empty(array(13,2,4,8589934592,4096,0)) from `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_bitmap_or.q b/ql/src/test/queries/clientpositive/udf_bitmap_or.q index 00785b7..0214124 100644 --- a/ql/src/test/queries/clientpositive/udf_bitmap_or.q +++ b/ql/src/test/queries/clientpositive/udf_bitmap_or.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -select ewah_bitmap_or(array(13,2,4,8589934592,4096,0), array(13,2,4,8589934592,4096,0)) from src tablesample (1 rows); -select ewah_bitmap_or(array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0)) from src tablesample (1 rows); +select ewah_bitmap_or(array(13,2,4,8589934592,4096,0), array(13,2,4,8589934592,4096,0)) from `s/c` tablesample (1 rows); +select ewah_bitmap_or(array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0)) from `s/c` tablesample (1 rows); drop table bitmap_test; create table bitmap_test (a array, b array); insert overwrite table bitmap_test -select array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0) from src tablesample (10 rows); +select array(13,2,4,8589934592,4096,0), array(8,2,4,8589934592,128,0) from `s/c` tablesample (10 rows); select ewah_bitmap_or(a,b) from bitmap_test; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_and.q b/ql/src/test/queries/clientpositive/udf_bitwise_and.q index 8e40111..059392a 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_and.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_and.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION &; DESCRIBE FUNCTION EXTENDED &; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_not.q b/ql/src/test/queries/clientpositive/udf_bitwise_not.q index fdd5485..5265175 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_not.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_not.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION ~; DESCRIBE FUNCTION EXTENDED ~; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_or.q b/ql/src/test/queries/clientpositive/udf_bitwise_or.q index 55375db..a56c840 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_or.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_or.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION |; DESCRIBE FUNCTION EXTENDED |; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_shiftleft.q b/ql/src/test/queries/clientpositive/udf_bitwise_shiftleft.q index 486d1f6..e68ecd8 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_shiftleft.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_shiftleft.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION shiftleft; DESC FUNCTION EXTENDED shiftleft; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_shiftright.q b/ql/src/test/queries/clientpositive/udf_bitwise_shiftright.q index 1d906a1..99ff53b 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_shiftright.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_shiftright.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION shiftright; DESC FUNCTION EXTENDED shiftright; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_shiftrightunsigned.q b/ql/src/test/queries/clientpositive/udf_bitwise_shiftrightunsigned.q index 93f98f3..6038f52 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_shiftrightunsigned.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_shiftrightunsigned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION shiftrightunsigned; DESC FUNCTION EXTENDED shiftrightunsigned; diff --git a/ql/src/test/queries/clientpositive/udf_bitwise_xor.q b/ql/src/test/queries/clientpositive/udf_bitwise_xor.q index 9c4ee73..5540ffa 100644 --- a/ql/src/test/queries/clientpositive/udf_bitwise_xor.q +++ b/ql/src/test/queries/clientpositive/udf_bitwise_xor.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION ^; DESCRIBE FUNCTION EXTENDED ^; diff --git a/ql/src/test/queries/clientpositive/udf_boolean.q b/ql/src/test/queries/clientpositive/udf_boolean.q index 1dc5017..57f91bb 100644 --- a/ql/src/test/queries/clientpositive/udf_boolean.q +++ b/ql/src/test/queries/clientpositive/udf_boolean.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION boolean; DESCRIBE FUNCTION EXTENDED boolean; diff --git a/ql/src/test/queries/clientpositive/udf_bround.q b/ql/src/test/queries/clientpositive/udf_bround.q index ef2c33a..4026218 100644 --- a/ql/src/test/queries/clientpositive/udf_bround.q +++ b/ql/src/test/queries/clientpositive/udf_bround.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION bround; diff --git a/ql/src/test/queries/clientpositive/udf_case.q b/ql/src/test/queries/clientpositive/udf_case.q index 43573bf..54e0ec6 100644 --- a/ql/src/test/queries/clientpositive/udf_case.q +++ b/ql/src/test/queries/clientpositive/udf_case.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION case; @@ -29,7 +63,7 @@ SELECT CASE 1 WHEN 22 THEN 23 WHEN 21 THEN 24 END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT CASE 1 WHEN 1 THEN 2 @@ -56,13 +90,13 @@ SELECT CASE 1 WHEN 22 THEN 23 WHEN 21 THEN 24 END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- verify that short-circuiting is working correctly for CASE -- we should never get to the ELSE branch, which would raise an exception SELECT CASE 1 WHEN 1 THEN 'yo' ELSE reflect('java.lang.String', 'bogus', 1) END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Allow compatible types in when/return type SELECT CASE 1 @@ -79,4 +113,4 @@ SELECT CASE 1 WHEN 'efg' THEN cast('efgh' as varchar(10)) ELSE cast('ijkl' as char(4)) END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_case_column_pruning.q b/ql/src/test/queries/clientpositive/udf_case_column_pruning.q index da92551..c0cd781 100644 --- a/ql/src/test/queries/clientpositive/udf_case_column_pruning.q +++ b/ql/src/test/queries/clientpositive/udf_case_column_pruning.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + EXPLAIN SELECT CASE a.key WHEN '1' THEN 2 WHEN '3' THEN 4 ELSE 5 END as key -FROM src a JOIN src b +FROM `s/c` a JOIN `s/c` b ON a.key = b.key ORDER BY key LIMIT 10; @@ -13,6 +47,6 @@ SELECT CASE a.key WHEN '3' THEN 4 ELSE 5 END as key -FROM src a JOIN src b +FROM `s/c` a JOIN `s/c` b ON a.key = b.key ORDER BY key LIMIT 10; diff --git a/ql/src/test/queries/clientpositive/udf_case_thrift.q b/ql/src/test/queries/clientpositive/udf_case_thrift.q index 2aa76f1..c5e15b7 100644 --- a/ql/src/test/queries/clientpositive/udf_case_thrift.q +++ b/ql/src/test/queries/clientpositive/udf_case_thrift.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN diff --git a/ql/src/test/queries/clientpositive/udf_cbrt.q b/ql/src/test/queries/clientpositive/udf_cbrt.q index f066cbc..a086e6e 100644 --- a/ql/src/test/queries/clientpositive/udf_cbrt.q +++ b/ql/src/test/queries/clientpositive/udf_cbrt.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION cbrt; DESC FUNCTION EXTENDED cbrt; diff --git a/ql/src/test/queries/clientpositive/udf_ceil.q b/ql/src/test/queries/clientpositive/udf_ceil.q index 34a91e1..d9e95e0 100644 --- a/ql/src/test/queries/clientpositive/udf_ceil.q +++ b/ql/src/test/queries/clientpositive/udf_ceil.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION ceil; DESCRIBE FUNCTION EXTENDED ceil; diff --git a/ql/src/test/queries/clientpositive/udf_ceiling.q b/ql/src/test/queries/clientpositive/udf_ceiling.q index d830b4d..6ea5569 100644 --- a/ql/src/test/queries/clientpositive/udf_ceiling.q +++ b/ql/src/test/queries/clientpositive/udf_ceiling.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION ceiling; DESCRIBE FUNCTION EXTENDED ceiling; diff --git a/ql/src/test/queries/clientpositive/udf_coalesce.q b/ql/src/test/queries/clientpositive/udf_coalesce.q index d3c417b..c6ad96f 100644 --- a/ql/src/test/queries/clientpositive/udf_coalesce.q +++ b/ql/src/test/queries/clientpositive/udf_coalesce.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION coalesce; @@ -22,7 +56,7 @@ SELECT COALESCE(1), COALESCE(NULL, 2.0, 3.0), COALESCE(2.0, NULL, 3.0), COALESCE(IF(TRUE, NULL, 0), NULL) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT COALESCE(1), COALESCE(1, 2), @@ -42,7 +76,7 @@ SELECT COALESCE(1), COALESCE(NULL, 2.0, 3.0), COALESCE(2.0, NULL, 3.0), COALESCE(IF(TRUE, NULL, 0), NULL) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); EXPLAIN SELECT COALESCE(src_thrift.lint[1], 999), diff --git a/ql/src/test/queries/clientpositive/udf_compare_java_string.q b/ql/src/test/queries/clientpositive/udf_compare_java_string.q index c7983b8..7a692af 100644 --- a/ql/src/test/queries/clientpositive/udf_compare_java_string.q +++ b/ql/src/test/queries/clientpositive/udf_compare_java_string.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN @@ -5,8 +39,8 @@ CREATE TEMPORARY FUNCTION test_udf_get_java_string AS 'org.apache.hadoop.hive.ql CREATE TEMPORARY FUNCTION test_udf_get_java_string AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestGetJavaString'; -select * from src where value = test_udf_get_java_string("val_66"); -select * from (select * from src where value = 'val_66' or value = 'val_8') t where value <> test_udf_get_java_string("val_8"); +select * from `s/c` where value = test_udf_get_java_string("val_66"); +select * from (select * from `s/c` where value = 'val_66' or value = 'val_8') t where value <> test_udf_get_java_string("val_8"); DROP TEMPORARY FUNCTION test_udf_get_java_boolean; diff --git a/ql/src/test/queries/clientpositive/udf_concat.q b/ql/src/test/queries/clientpositive/udf_concat.q index e35a1cf..62c5312 100644 --- a/ql/src/test/queries/clientpositive/udf_concat.q +++ b/ql/src/test/queries/clientpositive/udf_concat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION concat; @@ -14,10 +48,10 @@ SELECT concat(1, 2), concat(1), concat('1234', 'abc', 'extra argument') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- binary/mixed SELECT concat(cast('ab' as binary), cast('cd' as binary)), concat('ab', cast('cd' as binary)) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_concat_insert1.q b/ql/src/test/queries/clientpositive/udf_concat_insert1.q index 496f403..9a53417 100644 --- a/ql/src/test/queries/clientpositive/udf_concat_insert1.q +++ b/ql/src/test/queries/clientpositive/udf_concat_insert1.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key INT, value STRING) STORED AS TEXTFILE; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT '1234', concat(src.key) WHERE src.key < 100 group by src.key; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT '1234', concat(`s/c`.key) WHERE `s/c`.key < 100 group by `s/c`.key; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf_concat_insert2.q b/ql/src/test/queries/clientpositive/udf_concat_insert2.q index 6d1353f..52115f4 100644 --- a/ql/src/test/queries/clientpositive/udf_concat_insert2.q +++ b/ql/src/test/queries/clientpositive/udf_concat_insert2.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE dest1(key STRING, value STRING) STORED AS TEXTFILE; -FROM src -INSERT OVERWRITE TABLE dest1 SELECT concat('1234', 'abc', 'extra argument'), src.value WHERE src.key < 100; +FROM `s/c` +INSERT OVERWRITE TABLE dest1 SELECT concat('1234', 'abc', 'extra argument'), `s/c`.value WHERE `s/c`.key < 100; SELECT dest1.* FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udf_concat_ws.q b/ql/src/test/queries/clientpositive/udf_concat_ws.q index 538dfae..5a2e08f 100644 --- a/ql/src/test/queries/clientpositive/udf_concat_ws.q +++ b/ql/src/test/queries/clientpositive/udf_concat_ws.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION concat_ws; @@ -5,7 +39,7 @@ DESCRIBE FUNCTION EXTENDED concat_ws; CREATE TABLE dest1(c1 STRING, c2 STRING, c3 STRING); -FROM src INSERT OVERWRITE TABLE dest1 SELECT 'abc', 'xyz', '8675309' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT 'abc', 'xyz', '8675309' WHERE `s/c`.key = 86; EXPLAIN SELECT concat_ws(dest1.c1, dest1.c2, dest1.c3), diff --git a/ql/src/test/queries/clientpositive/udf_context_aware.q b/ql/src/test/queries/clientpositive/udf_context_aware.q index 04cb512..e4ea91a 100644 --- a/ql/src/test/queries/clientpositive/udf_context_aware.q +++ b/ql/src/test/queries/clientpositive/udf_context_aware.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create temporary function counter as 'org.apache.hadoop.hive.ql.udf.generic.DummyContextUDF'; set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; -select *, counter(key) from src limit 20; +select *, counter(key) from `s/c` limit 20; diff --git a/ql/src/test/queries/clientpositive/udf_conv.q b/ql/src/test/queries/clientpositive/udf_conv.q index c6d6cf8..da4cd02 100644 --- a/ql/src/test/queries/clientpositive/udf_conv.q +++ b/ql/src/test/queries/clientpositive/udf_conv.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION conv; @@ -11,7 +45,7 @@ SELECT conv('22', 10, 10), conv('110011', 2, 16), conv('facebook', 36, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Test negative numbers. If to_base is positive, the number should be handled -- as a two's complement (64-bit) @@ -20,7 +54,7 @@ SELECT conv('1011', 2, -16), conv('-1', 10, 16), conv('-15', 10, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Test overflow. If a number is two large, the result should be -1 (if signed) -- or MAX_LONG (if unsigned) @@ -29,7 +63,7 @@ SELECT conv('9223372036854775807', 36, -16), conv('-9223372036854775807', 36, 16), conv('-9223372036854775807', 36, -16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Test with invalid input. If one of the bases is invalid, the result should -- be NULL. If there is an invalid digit in the number, the longest valid @@ -39,7 +73,7 @@ SELECT conv('131', 1, 5), conv('515', 5, 100), conv('10', -2, 2) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Perform the same tests with number arguments. @@ -47,31 +81,31 @@ SELECT conv(4521, 10, 36), conv(22, 10, 10), conv(110011, 2, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT conv(-641, 10, -10), conv(1011, 2, -16), conv(-1, 10, 16), conv(-15, 10, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT conv(9223372036854775807, 36, 16), conv(9223372036854775807, 36, -16), conv(-9223372036854775807, 36, 16), conv(-9223372036854775807, 36, -16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT conv(123455, 3, 10), conv(131, 1, 5), conv(515, 5, 100), conv('10', -2, 2) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Make sure that state is properly reset. SELECT conv(key, 10, 16), conv(key, 16, 10) -FROM src tablesample (3 rows); +FROM `s/c` tablesample (3 rows); diff --git a/ql/src/test/queries/clientpositive/udf_cos.q b/ql/src/test/queries/clientpositive/udf_cos.q index 11ef8d7..ce4a848 100644 --- a/ql/src/test/queries/clientpositive/udf_cos.q +++ b/ql/src/test/queries/clientpositive/udf_cos.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION cos; DESCRIBE FUNCTION EXTENDED cos; SELECT cos(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT cos(0.98), cos(1.57), cos(-0.5) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_count.q b/ql/src/test/queries/clientpositive/udf_count.q index 022d7a9..23dbf43 100644 --- a/ql/src/test/queries/clientpositive/udf_count.q +++ b/ql/src/test/queries/clientpositive/udf_count.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION count; DESCRIBE FUNCTION EXTENDED count; -EXPLAIN SELECT count(key) FROM src; -SELECT count(key) FROM src; +EXPLAIN SELECT count(key) FROM `s/c`; +SELECT count(key) FROM `s/c`; -EXPLAIN SELECT count(DISTINCT key) FROM src; -SELECT count(DISTINCT key) FROM src; +EXPLAIN SELECT count(DISTINCT key) FROM `s/c`; +SELECT count(DISTINCT key) FROM `s/c`; -EXPLAIN SELECT count(DISTINCT key, value) FROM src; -SELECT count(DISTINCT key, value) FROM src; +EXPLAIN SELECT count(DISTINCT key, value) FROM `s/c`; +SELECT count(DISTINCT key, value) FROM `s/c`; -EXPLAIN SELECT count(*) FROM src; -SELECT count(*) FROM src; +EXPLAIN SELECT count(*) FROM `s/c`; +SELECT count(*) FROM `s/c`; -EXPLAIN SELECT count(1) FROM src; -SELECT count(1) FROM src; +EXPLAIN SELECT count(1) FROM `s/c`; +SELECT count(1) FROM `s/c`; -select count(1) from src where false; -select count(*) from src where false; +select count(1) from `s/c` where false; +select count(*) from `s/c` where false; diff --git a/ql/src/test/queries/clientpositive/udf_crc32.q b/ql/src/test/queries/clientpositive/udf_crc32.q index 650205e..d3800e2 100644 --- a/ql/src/test/queries/clientpositive/udf_crc32.q +++ b/ql/src/test/queries/clientpositive/udf_crc32.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION crc32; DESC FUNCTION EXTENDED crc32; diff --git a/ql/src/test/queries/clientpositive/udf_current_database.q b/ql/src/test/queries/clientpositive/udf_current_database.q index 4ada035..caf496a 100644 --- a/ql/src/test/queries/clientpositive/udf_current_database.q +++ b/ql/src/test/queries/clientpositive/udf_current_database.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION current_database; explain diff --git a/ql/src/test/queries/clientpositive/udf_current_user.q b/ql/src/test/queries/clientpositive/udf_current_user.q index f86ff10..8c3b596 100644 --- a/ql/src/test/queries/clientpositive/udf_current_user.q +++ b/ql/src/test/queries/clientpositive/udf_current_user.q @@ -1,5 +1,39 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION current_user; DESCRIBE FUNCTION EXTENDED current_user; select current_user() -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_date_add.q b/ql/src/test/queries/clientpositive/udf_date_add.q index 2220924..42d3981 100644 --- a/ql/src/test/queries/clientpositive/udf_date_add.q +++ b/ql/src/test/queries/clientpositive/udf_date_add.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION date_add; DESCRIBE FUNCTION EXTENDED date_add; diff --git a/ql/src/test/queries/clientpositive/udf_date_format.q b/ql/src/test/queries/clientpositive/udf_date_format.q index fd8906f..34bee84 100644 --- a/ql/src/test/queries/clientpositive/udf_date_format.q +++ b/ql/src/test/queries/clientpositive/udf_date_format.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION date_format; DESC FUNCTION EXTENDED date_format; diff --git a/ql/src/test/queries/clientpositive/udf_date_sub.q b/ql/src/test/queries/clientpositive/udf_date_sub.q index d2cfa98c..33f15d2 100644 --- a/ql/src/test/queries/clientpositive/udf_date_sub.q +++ b/ql/src/test/queries/clientpositive/udf_date_sub.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION date_sub; DESCRIBE FUNCTION EXTENDED date_sub; diff --git a/ql/src/test/queries/clientpositive/udf_datediff.q b/ql/src/test/queries/clientpositive/udf_datediff.q index 30718fe..2dd8a2e 100644 --- a/ql/src/test/queries/clientpositive/udf_datediff.q +++ b/ql/src/test/queries/clientpositive/udf_datediff.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION datediff; DESCRIBE FUNCTION EXTENDED datediff; diff --git a/ql/src/test/queries/clientpositive/udf_day.q b/ql/src/test/queries/clientpositive/udf_day.q index fb9b57d..7272cfa 100644 --- a/ql/src/test/queries/clientpositive/udf_day.q +++ b/ql/src/test/queries/clientpositive/udf_day.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION day; DESCRIBE FUNCTION EXTENDED day; diff --git a/ql/src/test/queries/clientpositive/udf_dayofmonth.q b/ql/src/test/queries/clientpositive/udf_dayofmonth.q index ab30f1d..3c90014 100644 --- a/ql/src/test/queries/clientpositive/udf_dayofmonth.q +++ b/ql/src/test/queries/clientpositive/udf_dayofmonth.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION dayofmonth; DESCRIBE FUNCTION EXTENDED dayofmonth; diff --git a/ql/src/test/queries/clientpositive/udf_decode.q b/ql/src/test/queries/clientpositive/udf_decode.q index c864798..873bb36 100644 --- a/ql/src/test/queries/clientpositive/udf_decode.q +++ b/ql/src/test/queries/clientpositive/udf_decode.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION decode; DESC FUNCTION EXTENDED decode; diff --git a/ql/src/test/queries/clientpositive/udf_degrees.q b/ql/src/test/queries/clientpositive/udf_degrees.q index d5360fe..4991f5d 100644 --- a/ql/src/test/queries/clientpositive/udf_degrees.q +++ b/ql/src/test/queries/clientpositive/udf_degrees.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; explain -select degrees(PI()) FROM src tablesample (1 rows); +select degrees(PI()) FROM `s/c` tablesample (1 rows); -select degrees(PI()) FROM src tablesample (1 rows); +select degrees(PI()) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION degrees; DESCRIBE FUNCTION EXTENDED degrees; explain -select degrees(PI()) FROM src tablesample (1 rows); +select degrees(PI()) FROM `s/c` tablesample (1 rows); -select degrees(PI()) FROM src tablesample (1 rows); +select degrees(PI()) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION degrees; DESCRIBE FUNCTION EXTENDED degrees; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_div.q b/ql/src/test/queries/clientpositive/udf_div.q index b0d2844..a8cd964 100644 --- a/ql/src/test/queries/clientpositive/udf_div.q +++ b/ql/src/test/queries/clientpositive/udf_div.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION div; DESCRIBE FUNCTION EXTENDED div; -SELECT 3 DIV 2 FROM SRC tablesample (1 rows); +SELECT 3 DIV 2 FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_divide.q b/ql/src/test/queries/clientpositive/udf_divide.q index d36ba99..6b2df2e 100644 --- a/ql/src/test/queries/clientpositive/udf_divide.q +++ b/ql/src/test/queries/clientpositive/udf_divide.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION /; DESCRIBE FUNCTION EXTENDED /; -SELECT 3 / 2 FROM SRC tablesample (1 rows); +SELECT 3 / 2 FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_double.q b/ql/src/test/queries/clientpositive/udf_double.q index 974dbf1..8a0586c 100644 --- a/ql/src/test/queries/clientpositive/udf_double.q +++ b/ql/src/test/queries/clientpositive/udf_double.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION double; DESCRIBE FUNCTION EXTENDED double; diff --git a/ql/src/test/queries/clientpositive/udf_elt.q b/ql/src/test/queries/clientpositive/udf_elt.q index fae7649..bb35918 100644 --- a/ql/src/test/queries/clientpositive/udf_elt.q +++ b/ql/src/test/queries/clientpositive/udf_elt.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION elt; @@ -15,7 +49,7 @@ SELECT elt(2, 'abc', 'defg'), elt(null, 'abc', 'defg'), elt(0, 'abc', 'defg'), elt(3, 'abc', 'defg') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT elt(2, 'abc', 'defg'), elt(3, 'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg'), @@ -28,4 +62,4 @@ SELECT elt(2, 'abc', 'defg'), elt(null, 'abc', 'defg'), elt(0, 'abc', 'defg'), elt(3, 'abc', 'defg') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_equal.q b/ql/src/test/queries/clientpositive/udf_equal.q index ea9b18b..a210eba 100644 --- a/ql/src/test/queries/clientpositive/udf_equal.q +++ b/ql/src/test/queries/clientpositive/udf_equal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION =; @@ -6,9 +40,9 @@ DESCRIBE FUNCTION EXTENDED =; DESCRIBE FUNCTION ==; DESCRIBE FUNCTION EXTENDED ==; -SELECT true=false, false=true, false=false, true=true, NULL=NULL, true=NULL, NULL=true, false=NULL, NULL=false FROM src tablesample (1 rows); +SELECT true=false, false=true, false=false, true=true, NULL=NULL, true=NULL, NULL=true, false=NULL, NULL=false FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION <=>; DESCRIBE FUNCTION EXTENDED <=>; -SELECT true<=>false, false<=>true, false<=>false, true<=>true, NULL<=>NULL, true<=>NULL, NULL<=>true, false<=>NULL, NULL<=>false FROM src tablesample (1 rows); +SELECT true<=>false, false<=>true, false<=>false, true<=>true, NULL<=>NULL, true<=>NULL, NULL<=>true, false<=>NULL, NULL<=>false FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_example_add.q b/ql/src/test/queries/clientpositive/udf_example_add.q index fb7b5c9..e2fb7a2 100644 --- a/ql/src/test/queries/clientpositive/udf_example_add.q +++ b/ql/src/test/queries/clientpositive/udf_example_add.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + add jar ${system:maven.local.repository}/org/apache/hive/hive-contrib/${system:hive.version}/hive-contrib-${system:hive.version}.jar; CREATE TEMPORARY FUNCTION example_add AS 'org.apache.hadoop.hive.contrib.udf.example.UDFExampleAdd'; @@ -10,7 +44,7 @@ SELECT example_add(1, 2), example_add(1.1, 2.2, 3.3), example_add(1.1, 2.2, 3.3, 4.4), example_add(1, 2, 3, 4.4) -FROM src LIMIT 1; +FROM `s/c` LIMIT 1; SELECT example_add(1, 2), example_add(1, 2, 3), @@ -19,6 +53,6 @@ SELECT example_add(1, 2), example_add(1.1, 2.2, 3.3), example_add(1.1, 2.2, 3.3, 4.4), example_add(1, 2, 3, 4.4) -FROM src LIMIT 1; +FROM `s/c` LIMIT 1; DROP TEMPORARY FUNCTION example_add; diff --git a/ql/src/test/queries/clientpositive/udf_exp.q b/ql/src/test/queries/clientpositive/udf_exp.q index 612c9a7..5bb55e6 100644 --- a/ql/src/test/queries/clientpositive/udf_exp.q +++ b/ql/src/test/queries/clientpositive/udf_exp.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION exp; DESCRIBE FUNCTION EXTENDED exp; diff --git a/ql/src/test/queries/clientpositive/udf_explode.q b/ql/src/test/queries/clientpositive/udf_explode.q index ae65164..861cb39 100644 --- a/ql/src/test/queries/clientpositive/udf_explode.q +++ b/ql/src/test/queries/clientpositive/udf_explode.q @@ -1,24 +1,58 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION explode; DESCRIBE FUNCTION EXTENDED explode; -EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows); -EXPLAIN EXTENDED SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows)) a GROUP BY a.myCol; +EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM `s/c` tablesample (1 rows); +EXPLAIN EXTENDED SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM `s/c` tablesample (1 rows)) a GROUP BY a.myCol; -SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows); -SELECT explode(array(1,2,3)) AS (myCol) FROM src tablesample (1 rows); -SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM src tablesample (1 rows)) a GROUP BY a.myCol; +SELECT explode(array(1,2,3)) AS myCol FROM `s/c` tablesample (1 rows); +SELECT explode(array(1,2,3)) AS (myCol) FROM `s/c` tablesample (1 rows); +SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM `s/c` tablesample (1 rows)) a GROUP BY a.myCol; -EXPLAIN EXTENDED SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM src tablesample (1 rows); -EXPLAIN EXTENDED SELECT a.key, a.val, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM src tablesample (1 rows)) a GROUP BY a.key, a.val; +EXPLAIN EXTENDED SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM `s/c` tablesample (1 rows); +EXPLAIN EXTENDED SELECT a.key, a.val, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM `s/c` tablesample (1 rows)) a GROUP BY a.key, a.val; -SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM src tablesample (1 rows); -SELECT a.key, a.val, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM src tablesample (1 rows)) a GROUP BY a.key, a.val; +SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM `s/c` tablesample (1 rows); +SELECT a.key, a.val, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) AS (key,val) FROM `s/c` tablesample (1 rows)) a GROUP BY a.key, a.val; drop table lazy_array_map; create table lazy_array_map (map_col map, array_col array); -INSERT OVERWRITE TABLE lazy_array_map select map(1,'one',2,'two',3,'three'), array('100','200','300') FROM src tablesample (1 rows); +INSERT OVERWRITE TABLE lazy_array_map select map(1,'one',2,'two',3,'three'), array('100','200','300') FROM `s/c` tablesample (1 rows); SELECT array_col, myCol from lazy_array_map lateral view explode(array_col) X AS myCol; SELECT map_col, myKey, myValue from lazy_array_map lateral view explode(map_col) X AS myKey, myValue; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_factorial.q b/ql/src/test/queries/clientpositive/udf_factorial.q index 99518f0..1ea3a3d 100644 --- a/ql/src/test/queries/clientpositive/udf_factorial.q +++ b/ql/src/test/queries/clientpositive/udf_factorial.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION factorial; DESC FUNCTION EXTENDED factorial; diff --git a/ql/src/test/queries/clientpositive/udf_field.q b/ql/src/test/queries/clientpositive/udf_field.q index be92c02..fa3064a 100644 --- a/ql/src/test/queries/clientpositive/udf_field.q +++ b/ql/src/test/queries/clientpositive/udf_field.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION field; @@ -7,7 +41,7 @@ SELECT field("x", "a", "b", "c", "d"), field(NULL, "a", "b", "c", "d"), field(0, 1, 2, 3, 4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT field("a", "a", "b", "c", "d"), @@ -15,7 +49,7 @@ SELECT field("c", "a", "b", "c", "d"), field("d", "a", "b", "c", "d"), field("d", "a", "b", NULL, "d") -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT field(1, 1, 2, 3, 4), @@ -23,7 +57,7 @@ SELECT field(3, 1, 2, 3, 4), field(4, 1, 2, 3, 4), field(4, 1, 2, NULL, 4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); CREATE TABLE test_table(col1 STRING, col2 STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/udf_find_in_set.q b/ql/src/test/queries/clientpositive/udf_find_in_set.q index 72c65b4..09e9826 100644 --- a/ql/src/test/queries/clientpositive/udf_find_in_set.q +++ b/ql/src/test/queries/clientpositive/udf_find_in_set.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION find_in_set; diff --git a/ql/src/test/queries/clientpositive/udf_float.q b/ql/src/test/queries/clientpositive/udf_float.q index abad4ed..1181524 100644 --- a/ql/src/test/queries/clientpositive/udf_float.q +++ b/ql/src/test/queries/clientpositive/udf_float.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION float; DESCRIBE FUNCTION EXTENDED float; diff --git a/ql/src/test/queries/clientpositive/udf_floor.q b/ql/src/test/queries/clientpositive/udf_floor.q index a9c304b..d2c5247 100644 --- a/ql/src/test/queries/clientpositive/udf_floor.q +++ b/ql/src/test/queries/clientpositive/udf_floor.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION floor; DESCRIBE FUNCTION EXTENDED floor; diff --git a/ql/src/test/queries/clientpositive/udf_folder_constants.q b/ql/src/test/queries/clientpositive/udf_folder_constants.q index fcb5162..a44c2f8 100644 --- a/ql/src/test/queries/clientpositive/udf_folder_constants.q +++ b/ql/src/test/queries/clientpositive/udf_folder_constants.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists udf_tb1; drop table if exists udf_tb2; diff --git a/ql/src/test/queries/clientpositive/udf_format_number.q b/ql/src/test/queries/clientpositive/udf_format_number.q index 28f087d..89717bd 100644 --- a/ql/src/test/queries/clientpositive/udf_format_number.q +++ b/ql/src/test/queries/clientpositive/udf_format_number.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; use default; @@ -9,26 +43,26 @@ DESCRIBE FUNCTION EXTENDED format_number; EXPLAIN SELECT format_number(12332.123456, 4), format_number(12332.1,4), - format_number(12332.2,0) FROM src tablesample (1 rows); + format_number(12332.2,0) FROM `s/c` tablesample (1 rows); SELECT format_number(12332.123456, 4), format_number(12332.1,4), format_number(12332.2,0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- positive numbers SELECT format_number(0.123456789, 12), format_number(12345678.123456789, 5), format_number(1234567.123456789, 7), format_number(123456.123456789, 0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- negative numbers SELECT format_number(-123456.123456789, 0), format_number(-1234567.123456789, 2), format_number(-0.123456789, 15), format_number(-12345.123456789, 4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- zeros SELECT format_number(0.0, 4), @@ -36,7 +70,7 @@ SELECT format_number(0.0, 4), format_number(000.0000, 1), format_number(00000.0000, 1), format_number(-00.0, 4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- integers SELECT format_number(0, 0), @@ -44,7 +78,7 @@ SELECT format_number(0, 0), format_number(12, 2), format_number(123, 5), format_number(1234, 7) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- long and double boundary -- 9223372036854775807 is LONG_MAX @@ -56,13 +90,13 @@ SELECT format_number(-9223372036854775807, 10), format_number(9223372036854775807, 20), format_number(4.9E-324, 324), format_number(1.7976931348623157E308, 308) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- floats SELECT format_number(CAST(12332.123456 AS FLOAT), 4), format_number(CAST(12332.1 AS FLOAT), 4), format_number(CAST(-12332.2 AS FLOAT), 0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- decimals SELECT format_number(12332.123456BD, 4), @@ -70,7 +104,7 @@ SELECT format_number(12332.123456BD, 4), format_number(12332.1BD, 4), format_number(-12332.2BD, 0), format_number(CAST(12332.567 AS DECIMAL(8, 1)), 4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- nulls SELECT diff --git a/ql/src/test/queries/clientpositive/udf_from_unixtime.q b/ql/src/test/queries/clientpositive/udf_from_unixtime.q index e678037..af285ec 100644 --- a/ql/src/test/queries/clientpositive/udf_from_unixtime.q +++ b/ql/src/test/queries/clientpositive/udf_from_unixtime.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION from_unixtime; DESCRIBE FUNCTION EXTENDED from_unixtime; diff --git a/ql/src/test/queries/clientpositive/udf_from_utc_timestamp.q b/ql/src/test/queries/clientpositive/udf_from_utc_timestamp.q index b113eec..4721042 100644 --- a/ql/src/test/queries/clientpositive/udf_from_utc_timestamp.q +++ b/ql/src/test/queries/clientpositive/udf_from_utc_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION from_utc_timestamp; DESC FUNCTION EXTENDED from_utc_timestamp; diff --git a/ql/src/test/queries/clientpositive/udf_get_json_object.q b/ql/src/test/queries/clientpositive/udf_get_json_object.q index 50a573f..45813c9 100644 --- a/ql/src/test/queries/clientpositive/udf_get_json_object.q +++ b/ql/src/test/queries/clientpositive/udf_get_json_object.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION get_json_object; @@ -5,7 +39,7 @@ DESCRIBE FUNCTION EXTENDED get_json_object; CREATE TABLE dest1(c1 STRING) STORED AS TEXTFILE; -FROM src INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE dest1 SELECT ' abc ' WHERE `s/c`.key = 86; set hive.fetch.task.conversion=more; @@ -37,7 +71,7 @@ SELECT get_json_object(src_json.json, '$.fb:testid') FROM src_json; CREATE TABLE dest2(c1 STRING) STORED AS RCFILE; -INSERT OVERWRITE TABLE dest2 SELECT '{"a":"b\nc"}' FROM src tablesample (1 rows); +INSERT OVERWRITE TABLE dest2 SELECT '{"a":"b\nc"}' FROM `s/c` tablesample (1 rows); SELECT * FROM dest2; diff --git a/ql/src/test/queries/clientpositive/udf_greaterthan.q b/ql/src/test/queries/clientpositive/udf_greaterthan.q index 230bd24..7696155 100644 --- a/ql/src/test/queries/clientpositive/udf_greaterthan.q +++ b/ql/src/test/queries/clientpositive/udf_greaterthan.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION >; DESCRIBE FUNCTION EXTENDED >; -SELECT true>false, false>true, false>false, true>true FROM src tablesample (1 rows); \ No newline at end of file +SELECT true>false, false>true, false>false, true>true FROM `s/c` tablesample (1 rows); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_greaterthanorequal.q b/ql/src/test/queries/clientpositive/udf_greaterthanorequal.q index 025eed7..19e075e 100644 --- a/ql/src/test/queries/clientpositive/udf_greaterthanorequal.q +++ b/ql/src/test/queries/clientpositive/udf_greaterthanorequal.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION >=; DESCRIBE FUNCTION EXTENDED >=; -SELECT true>=false, false>=true, false>=false, true>=true FROM src tablesample (1 rows); \ No newline at end of file +SELECT true>=false, false>=true, false>=false, true>=true FROM `s/c` tablesample (1 rows); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_greatest.q b/ql/src/test/queries/clientpositive/udf_greatest.q index 02c7d3c..42a94b2 100644 --- a/ql/src/test/queries/clientpositive/udf_greatest.q +++ b/ql/src/test/queries/clientpositive/udf_greatest.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION greatest; @@ -18,7 +52,7 @@ SELECT GREATEST('a', 'b', 'c'), GREATEST('a', null, null), GREATEST(null, 'b', null), GREATEST(cast(null as string), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT GREATEST('a', 'b', 'c'), GREATEST('C', 'a', 'B'), @@ -34,7 +68,7 @@ SELECT GREATEST('a', 'b', 'c'), GREATEST('a', null, null), GREATEST(null, 'b', null), GREATEST(cast(null as string), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT GREATEST(11, 13, 12), GREATEST(1, 13, 2), @@ -44,7 +78,7 @@ SELECT GREATEST(11, 13, 12), GREATEST(1, null, 2), GREATEST(1, 2, null), GREATEST(cast(null as int), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT GREATEST(11.4, 13.5, 12.2), GREATEST(1.0, 13.2, 2.0), @@ -54,4 +88,4 @@ SELECT GREATEST(11.4, 13.5, 12.2), GREATEST(1.1, null, 2.2), GREATEST(1.1, 2.2, null), GREATEST(cast(null as double), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_hash.q b/ql/src/test/queries/clientpositive/udf_hash.q index 5814a17..e251cd0 100644 --- a/ql/src/test/queries/clientpositive/udf_hash.q +++ b/ql/src/test/queries/clientpositive/udf_hash.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION hash; @@ -9,11 +43,11 @@ SELECT hash(CAST(1 AS TINYINT)), hash(CAST(2 AS SMALLINT)), hash(CAST(1.25 AS FLOAT)), hash(CAST(16.0 AS DOUBLE)), hash('400'), hash('abc'), hash(TRUE), hash(FALSE), hash(1, 2, 3) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT hash(CAST(1 AS TINYINT)), hash(CAST(2 AS SMALLINT)), hash(3), hash(CAST('123456789012' AS BIGINT)), hash(CAST(1.25 AS FLOAT)), hash(CAST(16.0 AS DOUBLE)), hash('400'), hash('abc'), hash(TRUE), hash(FALSE), hash(1, 2, 3) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_hex.q b/ql/src/test/queries/clientpositive/udf_hex.q index 0e54579..5487dbd 100644 --- a/ql/src/test/queries/clientpositive/udf_hex.q +++ b/ql/src/test/queries/clientpositive/udf_hex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION hex; @@ -9,14 +43,14 @@ SELECT hex('Facebook'), hex('\0'), hex('qwertyuiopasdfghjkl') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- If the argument is a number, hex should convert it to hexadecimal. SELECT hex(1), hex(0), hex(4207849477) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Negative numbers should be treated as two's complement (64 bit). -SELECT hex(-5) FROM src tablesample (1 rows); +SELECT hex(-5) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_hour.q b/ql/src/test/queries/clientpositive/udf_hour.q index b9811e6..1437d0b 100644 --- a/ql/src/test/queries/clientpositive/udf_hour.q +++ b/ql/src/test/queries/clientpositive/udf_hour.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION hour; @@ -5,11 +39,11 @@ DESCRIBE FUNCTION EXTENDED hour; EXPLAIN SELECT hour('2009-08-07 13:14:15'), hour('13:14:15'), hour('2009-08-07') -FROM src WHERE key = 86; +FROM `s/c` WHERE key = 86; SELECT hour('2009-08-07 13:14:15'), hour('13:14:15'), hour('2009-08-07') -FROM src WHERE key = 86; +FROM `s/c` WHERE key = 86; SELECT hour(cast('2009-08-07 13:14:15' as timestamp)) -FROM src WHERE key=86; +FROM `s/c` WHERE key=86; diff --git a/ql/src/test/queries/clientpositive/udf_if.q b/ql/src/test/queries/clientpositive/udf_if.q index d9285ff..da3a018 100644 --- a/ql/src/test/queries/clientpositive/udf_if.q +++ b/ql/src/test/queries/clientpositive/udf_if.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION if; @@ -10,7 +44,7 @@ SELECT IF(TRUE, 1, 2) AS COL1, IF(2=2, 1, NULL) AS COL4, IF(2=2, NULL, 1) AS COL5, IF(IF(TRUE, NULL, FALSE), 1, 2) AS COL6 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT IF(TRUE, 1, 2) AS COL1, @@ -19,7 +53,7 @@ SELECT IF(TRUE, 1, 2) AS COL1, IF(2=2, 1, NULL) AS COL4, IF(2=2, NULL, 1) AS COL5, IF(IF(TRUE, NULL, FALSE), 1, 2) AS COL6 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Type conversions EXPLAIN @@ -27,10 +61,10 @@ SELECT IF(TRUE, CAST(128 AS SMALLINT), CAST(1 AS TINYINT)) AS COL1, IF(FALSE, 1, 1.1) AS COL2, IF(FALSE, 1, 'ABC') AS COL3, IF(FALSE, 'ABC', 12.3) AS COL4 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT IF(TRUE, CAST(128 AS SMALLINT), CAST(1 AS TINYINT)) AS COL1, IF(FALSE, 1, 1.1) AS COL2, IF(FALSE, 1, 'ABC') AS COL3, IF(FALSE, 'ABC', 12.3) AS COL4 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_in.q b/ql/src/test/queries/clientpositive/udf_in.q index a7ce3c6..807da63 100644 --- a/ql/src/test/queries/clientpositive/udf_in.q +++ b/ql/src/test/queries/clientpositive/udf_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; SELECT 1 IN (1, 2, 3), @@ -10,6 +44,6 @@ SELECT 1 IN (1, 2, 3), 1 IN (1, 2, 3) OR false IN(false), NULL IN (1, 2, 3), 4 IN (1, 2, 3, NULL), - (1+3) IN (5, 6, (1+2) + 1) FROM src tablesample (1 rows); + (1+3) IN (5, 6, (1+2) + 1) FROM `s/c` tablesample (1 rows); -SELECT key FROM src WHERE key IN ("238", 86); \ No newline at end of file +SELECT key FROM `s/c` WHERE key IN ("238", 86); \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_in_file.q b/ql/src/test/queries/clientpositive/udf_in_file.q index a045166..0affa93 100644 --- a/ql/src/test/queries/clientpositive/udf_in_file.q +++ b/ql/src/test/queries/clientpositive/udf_in_file.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION in_file; CREATE TABLE value_src (str_val char(3), ch_val STRING, vch_val varchar(10), diff --git a/ql/src/test/queries/clientpositive/udf_index.q b/ql/src/test/queries/clientpositive/udf_index.q index 6844f9d..575ef58 100644 --- a/ql/src/test/queries/clientpositive/udf_index.q +++ b/ql/src/test/queries/clientpositive/udf_index.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.quoted.identifiers=none; DESCRIBE FUNCTION `index`; DESCRIBE FUNCTION EXTENDED `index`; diff --git a/ql/src/test/queries/clientpositive/udf_initcap.q b/ql/src/test/queries/clientpositive/udf_initcap.q index 96df12b..e764f84 100644 --- a/ql/src/test/queries/clientpositive/udf_initcap.q +++ b/ql/src/test/queries/clientpositive/udf_initcap.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION initcap; DESCRIBE FUNCTION EXTENDED initcap; diff --git a/ql/src/test/queries/clientpositive/udf_inline.q b/ql/src/test/queries/clientpositive/udf_inline.q index 95d55f7..5510aa5 100644 --- a/ql/src/test/queries/clientpositive/udf_inline.q +++ b/ql/src/test/queries/clientpositive/udf_inline.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; describe function inline; @@ -8,7 +42,7 @@ explain SELECT inline( STRUCT (2,'Wheres'), STRUCT (3,'my car?') ) -) as (id, text) FROM SRC limit 2; +) as (id, text) FROM `s/c` limit 2; SELECT inline( ARRAY( @@ -16,7 +50,7 @@ SELECT inline( STRUCT (2,'Wheres'), STRUCT (3,'my car?') ) -) as (id, text) FROM SRC limit 2; +) as (id, text) FROM `s/c` limit 2; -- HIVE-3475 INLINE UDTF doesn't convert types properly select * from (SELECT @@ -24,5 +58,5 @@ select * from (SELECT STRUCT (1,'dude!'), STRUCT (2,'Wheres'), STRUCT (3,'my car?') - ) as value FROM SRC limit 1) input + ) as value FROM `s/c` limit 1) input LATERAL VIEW inline(value) myTable AS id, text; diff --git a/ql/src/test/queries/clientpositive/udf_instr.q b/ql/src/test/queries/clientpositive/udf_instr.q index 790a104..be7dcc1 100644 --- a/ql/src/test/queries/clientpositive/udf_instr.q +++ b/ql/src/test/queries/clientpositive/udf_instr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION instr; @@ -17,7 +51,7 @@ SELECT instr('abcd', 'abc'), instr(CAST(16.0 AS DOUBLE), '.0'), instr(null, 'abc'), instr('abcd', null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT instr('abcd', 'abc'), instr('abcabc', 'ccc'), @@ -32,4 +66,4 @@ SELECT instr('abcd', 'abc'), instr(CAST(16.0 AS DOUBLE), '.0'), instr(null, 'abc'), instr('abcd', null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_int.q b/ql/src/test/queries/clientpositive/udf_int.q index 64e94a1..6ada4fc 100644 --- a/ql/src/test/queries/clientpositive/udf_int.q +++ b/ql/src/test/queries/clientpositive/udf_int.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION int; DESCRIBE FUNCTION EXTENDED int; diff --git a/ql/src/test/queries/clientpositive/udf_isnotnull.q b/ql/src/test/queries/clientpositive/udf_isnotnull.q index 7522861..86d614e 100644 --- a/ql/src/test/queries/clientpositive/udf_isnotnull.q +++ b/ql/src/test/queries/clientpositive/udf_isnotnull.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION isnotnull; DESCRIBE FUNCTION EXTENDED isnotnull; diff --git a/ql/src/test/queries/clientpositive/udf_isnull.q b/ql/src/test/queries/clientpositive/udf_isnull.q index 3b5df16..0f38826 100644 --- a/ql/src/test/queries/clientpositive/udf_isnull.q +++ b/ql/src/test/queries/clientpositive/udf_isnull.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION isnull; DESCRIBE FUNCTION EXTENDED isnull; diff --git a/ql/src/test/queries/clientpositive/udf_isnull_isnotnull.q b/ql/src/test/queries/clientpositive/udf_isnull_isnotnull.q index efb834e..d417cb4 100644 --- a/ql/src/test/queries/clientpositive/udf_isnull_isnotnull.q +++ b/ql/src/test/queries/clientpositive/udf_isnull_isnotnull.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION isnull; @@ -11,14 +45,14 @@ EXPLAIN SELECT NULL IS NULL, 1 IS NOT NULL, 'my string' IS NOT NULL -FROM src +FROM `s/c` WHERE true IS NOT NULL LIMIT 1; SELECT NULL IS NULL, 1 IS NOT NULL, 'my string' IS NOT NULL -FROM src +FROM `s/c` WHERE true IS NOT NULL LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/udf_java_method.q b/ql/src/test/queries/clientpositive/udf_java_method.q index c0598cd..623d7bc 100644 --- a/ql/src/test/queries/clientpositive/udf_java_method.q +++ b/ql/src/test/queries/clientpositive/udf_java_method.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION java_method; @@ -13,7 +47,7 @@ SELECT java_method("java.lang.String", "valueOf", 1), java_method("java.lang.Math", "round", 2.5), round(java_method("java.lang.Math", "exp", 1.0), 6), java_method("java.lang.Math", "floor", 1.9) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT java_method("java.lang.String", "valueOf", 1), @@ -23,5 +57,5 @@ SELECT java_method("java.lang.String", "valueOf", 1), java_method("java.lang.Math", "round", 2.5), round(java_method("java.lang.Math", "exp", 1.0), 6), java_method("java.lang.Math", "floor", 1.9) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_last_day.q b/ql/src/test/queries/clientpositive/udf_last_day.q index f8b2748..833862f 100644 --- a/ql/src/test/queries/clientpositive/udf_last_day.q +++ b/ql/src/test/queries/clientpositive/udf_last_day.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION last_day; DESCRIBE FUNCTION EXTENDED last_day; diff --git a/ql/src/test/queries/clientpositive/udf_lcase.q b/ql/src/test/queries/clientpositive/udf_lcase.q index c2a09b0..69dde2d 100644 --- a/ql/src/test/queries/clientpositive/udf_lcase.q +++ b/ql/src/test/queries/clientpositive/udf_lcase.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION lcase; DESCRIBE FUNCTION EXTENDED lcase; diff --git a/ql/src/test/queries/clientpositive/udf_least.q b/ql/src/test/queries/clientpositive/udf_least.q index a754ef0..80f4f43 100644 --- a/ql/src/test/queries/clientpositive/udf_least.q +++ b/ql/src/test/queries/clientpositive/udf_least.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION least; @@ -18,7 +52,7 @@ SELECT LEAST('a', 'b', 'c'), LEAST('a', null, null), LEAST(null, 'b', null), LEAST(cast(null as string), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT LEAST('a', 'b', 'c'), LEAST('C', 'a', 'B'), @@ -34,7 +68,7 @@ SELECT LEAST('a', 'b', 'c'), LEAST('a', null, null), LEAST(null, 'b', null), LEAST(cast(null as string), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT LEAST(11, 13, 12), LEAST(1, 13, 2), @@ -44,7 +78,7 @@ SELECT LEAST(11, 13, 12), LEAST(1, null, 2), LEAST(1, 2, null), LEAST(cast(null as int), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT LEAST(11.4, 13.5, 12.2), LEAST(1.0, 13.2, 2.0), @@ -54,4 +88,4 @@ SELECT LEAST(11.4, 13.5, 12.2), LEAST(1.1, null, 2.2), LEAST(1.1, 2.2, null), LEAST(cast(null as double), null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_length.q b/ql/src/test/queries/clientpositive/udf_length.q index 4413751..a9c730e 100644 --- a/ql/src/test/queries/clientpositive/udf_length.q +++ b/ql/src/test/queries/clientpositive/udf_length.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION length; diff --git a/ql/src/test/queries/clientpositive/udf_lessthan.q b/ql/src/test/queries/clientpositive/udf_lessthan.q index 0332677..f6cd0e8 100644 --- a/ql/src/test/queries/clientpositive/udf_lessthan.q +++ b/ql/src/test/queries/clientpositive/udf_lessthan.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION <; DESCRIBE FUNCTION EXTENDED <; -SELECT true; @@ -8,18 +42,18 @@ DESCRIBE FUNCTION EXTENDED !=; EXPLAIN SELECT key, value -FROM src +FROM `s/c` WHERE key <> '302'; SELECT key, value -FROM src +FROM `s/c` WHERE key <> '302'; EXPLAIN SELECT key, value -FROM src +FROM `s/c` WHERE key != '302'; SELECT key, value -FROM src +FROM `s/c` WHERE key != '302'; diff --git a/ql/src/test/queries/clientpositive/udf_notop.q b/ql/src/test/queries/clientpositive/udf_notop.q index dceab7e..c171881 100644 --- a/ql/src/test/queries/clientpositive/udf_notop.q +++ b/ql/src/test/queries/clientpositive/udf_notop.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; SELECT 1 NOT IN (1, 2, 3), @@ -9,4 +43,4 @@ SELECT 1 NOT IN (1, 2, 3), "abc" NOT RLIKE "^bc", "abc" NOT REGEXP "^ab", "abc" NOT REGEXP "^bc", - 1 IN (1, 2) AND "abc" NOT LIKE "bc%" FROM src tablesample (1 rows); + 1 IN (1, 2) AND "abc" NOT LIKE "bc%" FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_nvl.q b/ql/src/test/queries/clientpositive/udf_nvl.q index 9716257..cf61f62 100644 --- a/ql/src/test/queries/clientpositive/udf_nvl.q +++ b/ql/src/test/queries/clientpositive/udf_nvl.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION nvl; @@ -6,9 +40,9 @@ DESCRIBE FUNCTION EXTENDED nvl; EXPLAIN SELECT NVL( 1 , 2 ) AS COL1, NVL( NULL, 5 ) AS COL2 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT NVL( 1 , 2 ) AS COL1, NVL( NULL, 5 ) AS COL2 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_or.q b/ql/src/test/queries/clientpositive/udf_or.q index fbd4486..ccca81f 100644 --- a/ql/src/test/queries/clientpositive/udf_or.q +++ b/ql/src/test/queries/clientpositive/udf_or.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION or; DESCRIBE FUNCTION EXTENDED or; diff --git a/ql/src/test/queries/clientpositive/udf_parse_url.q b/ql/src/test/queries/clientpositive/udf_parse_url.q index 62c67db..e8c30da 100644 --- a/ql/src/test/queries/clientpositive/udf_parse_url.q +++ b/ql/src/test/queries/clientpositive/udf_parse_url.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION parse_url; DESCRIBE FUNCTION EXTENDED parse_url; @@ -13,7 +47,7 @@ parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'FILE') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'PROTOCOL') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'USERINFO') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'AUTHORITY') - FROM src WHERE key = 86; + FROM `s/c` WHERE key = 86; SELECT parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST'), parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'PATH'), @@ -26,4 +60,4 @@ parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'FILE') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'PROTOCOL') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'USERINFO') , parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'AUTHORITY') - FROM src WHERE key = 86; \ No newline at end of file + FROM `s/c` WHERE key = 86; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_percentile.q b/ql/src/test/queries/clientpositive/udf_percentile.q index 8852116..7a4d0f0 100644 --- a/ql/src/test/queries/clientpositive/udf_percentile.q +++ b/ql/src/test/queries/clientpositive/udf_percentile.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION percentile; DESCRIBE FUNCTION EXTENDED percentile; @@ -12,7 +46,7 @@ SELECT CAST(key AS INT) DIV 10, percentile(CAST(substr(value, 5) AS INT), 0.5), percentile(CAST(substr(value, 5) AS INT), 1.0), percentile(CAST(substr(value, 5) AS INT), array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; @@ -24,7 +58,7 @@ SELECT CAST(key AS INT) DIV 10, percentile(CAST(substr(value, 5) AS INT), 0.5), percentile(CAST(substr(value, 5) AS INT), 1.0), percentile(CAST(substr(value, 5) AS INT), array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; @@ -37,7 +71,7 @@ SELECT CAST(key AS INT) DIV 10, percentile(CAST(substr(value, 5) AS INT), 0.5), percentile(CAST(substr(value, 5) AS INT), 1.0), percentile(CAST(substr(value, 5) AS INT), array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; @@ -49,7 +83,7 @@ SELECT CAST(key AS INT) DIV 10, percentile(CAST(substr(value, 5) AS INT), 0.5), percentile(CAST(substr(value, 5) AS INT), 1.0), percentile(CAST(substr(value, 5) AS INT), array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; @@ -60,7 +94,7 @@ set hive.groupby.skewindata = false; SELECT CAST(key AS INT) DIV 10, percentile(NULL, 0.0), percentile(NULL, array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; @@ -68,10 +102,10 @@ GROUP BY CAST(key AS INT) DIV 10; SELECT CAST(key AS INT) DIV 10, percentile(IF(CAST(key AS INT) DIV 10 < 5, 1, NULL), 0.5), percentile(IF(CAST(key AS INT) DIV 10 < 5, 1, NULL), array(0.0, 0.5, 0.99, 1.0)) -FROM src +FROM `s/c` GROUP BY CAST(key AS INT) DIV 10; -select percentile(cast(key as bigint), 0.5) from src where false; +select percentile(cast(key as bigint), 0.5) from `s/c` where false; -- test where percentile list is empty -select percentile(cast(key as bigint), array()) from src where false; +select percentile(cast(key as bigint), array()) from `s/c` where false; diff --git a/ql/src/test/queries/clientpositive/udf_pmod.q b/ql/src/test/queries/clientpositive/udf_pmod.q index d42a2f3..48eb496 100644 --- a/ql/src/test/queries/clientpositive/udf_pmod.q +++ b/ql/src/test/queries/clientpositive/udf_pmod.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION pmod; DESCRIBE FUNCTION EXTENDED pmod; SELECT pmod(null, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT pmod(-100,9), pmod(-50,101), pmod(-1000,29) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT pmod(100,19), pmod(50,125), pmod(300,15) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -SELECT pmod(CAST(-100 AS TINYINT),CAST(9 AS TINYINT)), pmod(CAST(-50 AS TINYINT),CAST(101 AS TINYINT)), pmod(CAST(-100 AS TINYINT),CAST(29 AS TINYINT)) FROM src tablesample (1 rows); -SELECT pmod(CAST(-100 AS SMALLINT),CAST(9 AS SMALLINT)), pmod(CAST(-50 AS SMALLINT),CAST(101 AS SMALLINT)), pmod(CAST(-100 AS SMALLINT),CAST(29 AS SMALLINT)) FROM src tablesample (1 rows); -SELECT pmod(CAST(-100 AS BIGINT),CAST(9 AS BIGINT)), pmod(CAST(-50 AS BIGINT),CAST(101 AS BIGINT)), pmod(CAST(-100 AS BIGINT),CAST(29 AS BIGINT)) FROM src tablesample (1 rows); +SELECT pmod(CAST(-100 AS TINYINT),CAST(9 AS TINYINT)), pmod(CAST(-50 AS TINYINT),CAST(101 AS TINYINT)), pmod(CAST(-100 AS TINYINT),CAST(29 AS TINYINT)) FROM `s/c` tablesample (1 rows); +SELECT pmod(CAST(-100 AS SMALLINT),CAST(9 AS SMALLINT)), pmod(CAST(-50 AS SMALLINT),CAST(101 AS SMALLINT)), pmod(CAST(-100 AS SMALLINT),CAST(29 AS SMALLINT)) FROM `s/c` tablesample (1 rows); +SELECT pmod(CAST(-100 AS BIGINT),CAST(9 AS BIGINT)), pmod(CAST(-50 AS BIGINT),CAST(101 AS BIGINT)), pmod(CAST(-100 AS BIGINT),CAST(29 AS BIGINT)) FROM `s/c` tablesample (1 rows); -SELECT pmod(CAST(-100.91 AS FLOAT),CAST(9.8 AS FLOAT)), pmod(CAST(-50.1 AS FLOAT),CAST(101.8 AS FLOAT)), pmod(CAST(-100.91 AS FLOAT),CAST(29.75 AS FLOAT)) FROM src tablesample (1 rows); -SELECT pmod(CAST(-100.91 AS DOUBLE),CAST(9.8 AS DOUBLE)), pmod(CAST(-50.1 AS DOUBLE),CAST(101.8 AS DOUBLE)), pmod(CAST(-100.91 AS DOUBLE),CAST(29.75 AS DOUBLE)) FROM src tablesample (1 rows); -SELECT pmod(CAST(-100.91 AS DECIMAL(5,2)),CAST(9.8 AS DECIMAL(2,1))), pmod(CAST(-50.1 AS DECIMAL(3,1)),CAST(101.8 AS DECIMAL(4,1))), pmod(CAST(-100.91 AS DECIMAL(5,2)),CAST(29.75 AS DECIMAL(4,2))) FROM src tablesample (1 rows); +SELECT pmod(CAST(-100.91 AS FLOAT),CAST(9.8 AS FLOAT)), pmod(CAST(-50.1 AS FLOAT),CAST(101.8 AS FLOAT)), pmod(CAST(-100.91 AS FLOAT),CAST(29.75 AS FLOAT)) FROM `s/c` tablesample (1 rows); +SELECT pmod(CAST(-100.91 AS DOUBLE),CAST(9.8 AS DOUBLE)), pmod(CAST(-50.1 AS DOUBLE),CAST(101.8 AS DOUBLE)), pmod(CAST(-100.91 AS DOUBLE),CAST(29.75 AS DOUBLE)) FROM `s/c` tablesample (1 rows); +SELECT pmod(CAST(-100.91 AS DECIMAL(5,2)),CAST(9.8 AS DECIMAL(2,1))), pmod(CAST(-50.1 AS DECIMAL(3,1)),CAST(101.8 AS DECIMAL(4,1))), pmod(CAST(-100.91 AS DECIMAL(5,2)),CAST(29.75 AS DECIMAL(4,2))) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_positive.q b/ql/src/test/queries/clientpositive/udf_positive.q index e5fd17e..0ba3611 100644 --- a/ql/src/test/queries/clientpositive/udf_positive.q +++ b/ql/src/test/queries/clientpositive/udf_positive.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION positive; DESCRIBE FUNCTION EXTENDED positive; diff --git a/ql/src/test/queries/clientpositive/udf_pow.q b/ql/src/test/queries/clientpositive/udf_pow.q index dc9ad9d..b5fe6d0 100644 --- a/ql/src/test/queries/clientpositive/udf_pow.q +++ b/ql/src/test/queries/clientpositive/udf_pow.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION pow; DESCRIBE FUNCTION EXTENDED pow; diff --git a/ql/src/test/queries/clientpositive/udf_power.q b/ql/src/test/queries/clientpositive/udf_power.q index c5a3f40..3d21504 100644 --- a/ql/src/test/queries/clientpositive/udf_power.q +++ b/ql/src/test/queries/clientpositive/udf_power.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION power; DESCRIBE FUNCTION EXTENDED power; diff --git a/ql/src/test/queries/clientpositive/udf_printf.q b/ql/src/test/queries/clientpositive/udf_printf.q index 115e4e5..14e0f69 100644 --- a/ql/src/test/queries/clientpositive/udf_printf.q +++ b/ql/src/test/queries/clientpositive/udf_printf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + use default; -- Test printf() UDF @@ -7,18 +41,18 @@ DESCRIBE FUNCTION EXTENDED printf; set hive.fetch.task.conversion=more; EXPLAIN -SELECT printf("Hello World %d %s", 100, "days") FROM src tablesample (1 rows); +SELECT printf("Hello World %d %s", 100, "days") FROM `s/c` tablesample (1 rows); -- Test Primitive Types -SELECT printf("Hello World %d %s", 100, "days") FROM src tablesample (1 rows); -SELECT printf("All Type Test: %b, %c, %d, %e, %+10.4f, %g, %h, %s, %a", false, 65, 15000, 12.3400, 27183.240051, 2300.41, 50, "corret", 256.125) FROM src tablesample (1 rows); +SELECT printf("Hello World %d %s", 100, "days") FROM `s/c` tablesample (1 rows); +SELECT printf("All Type Test: %b, %c, %d, %e, %+10.4f, %g, %h, %s, %a", false, 65, 15000, 12.3400, 27183.240051, 2300.41, 50, "corret", 256.125) FROM `s/c` tablesample (1 rows); -- Test NULL Values -SELECT printf("Color %s, String Null: %s, number1 %d, number2 %05d, Integer Null: %d, hex %#x, float %5.2f Double Null: %f\n", "red", NULL, 123456, 89, NULL, 255, 3.14159, NULL) FROM src tablesample (1 rows); +SELECT printf("Color %s, String Null: %s, number1 %d, number2 %05d, Integer Null: %d, hex %#x, float %5.2f Double Null: %f\n", "red", NULL, 123456, 89, NULL, 255, 3.14159, NULL) FROM `s/c` tablesample (1 rows); -- Test Timestamp create table timestamp_udf (t timestamp); -from (select * from src tablesample (1 rows)) s +from (select * from `s/c` tablesample (1 rows)) s insert overwrite table timestamp_udf select '2011-05-06 07:08:09.1234567'; select printf("timestamp: %s", t) from timestamp_udf; diff --git a/ql/src/test/queries/clientpositive/udf_quarter.q b/ql/src/test/queries/clientpositive/udf_quarter.q index fe5d5cf..3981061 100644 --- a/ql/src/test/queries/clientpositive/udf_quarter.q +++ b/ql/src/test/queries/clientpositive/udf_quarter.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION quarter; DESC FUNCTION EXTENDED quarter; diff --git a/ql/src/test/queries/clientpositive/udf_radians.q b/ql/src/test/queries/clientpositive/udf_radians.q index 19242bd..5699255 100644 --- a/ql/src/test/queries/clientpositive/udf_radians.q +++ b/ql/src/test/queries/clientpositive/udf_radians.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; explain -select radians(57.2958) FROM src tablesample (1 rows); +select radians(57.2958) FROM `s/c` tablesample (1 rows); -select radians(57.2958) FROM src tablesample (1 rows); -select radians(143.2394) FROM src tablesample (1 rows); +select radians(57.2958) FROM `s/c` tablesample (1 rows); +select radians(143.2394) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION radians; DESCRIBE FUNCTION EXTENDED radians; explain -select radians(57.2958) FROM src tablesample (1 rows); +select radians(57.2958) FROM `s/c` tablesample (1 rows); -select radians(57.2958) FROM src tablesample (1 rows); -select radians(143.2394) FROM src tablesample (1 rows); +select radians(57.2958) FROM `s/c` tablesample (1 rows); +select radians(143.2394) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION radians; DESCRIBE FUNCTION EXTENDED radians; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_rand.q b/ql/src/test/queries/clientpositive/udf_rand.q index ff5380c..9ef4bb5 100644 --- a/ql/src/test/queries/clientpositive/udf_rand.q +++ b/ql/src/test/queries/clientpositive/udf_rand.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION rand; DESCRIBE FUNCTION EXTENDED rand; diff --git a/ql/src/test/queries/clientpositive/udf_reflect.q b/ql/src/test/queries/clientpositive/udf_reflect.q index 97fa817..0fe0eb5 100644 --- a/ql/src/test/queries/clientpositive/udf_reflect.q +++ b/ql/src/test/queries/clientpositive/udf_reflect.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION reflect; @@ -12,7 +46,7 @@ SELECT reflect("java.lang.String", "valueOf", 1), round(reflect("java.lang.Math", "exp", 1.0), 6), reflect("java.lang.Math", "floor", 1.9), reflect("java.lang.Integer", "valueOf", key, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT reflect("java.lang.String", "valueOf", 1), @@ -23,4 +57,4 @@ SELECT reflect("java.lang.String", "valueOf", 1), round(reflect("java.lang.Math", "exp", 1.0), 6), reflect("java.lang.Math", "floor", 1.9), reflect("java.lang.Integer", "valueOf", key, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_reflect2.q b/ql/src/test/queries/clientpositive/udf_reflect2.q index a65294b..e4abdc1 100644 --- a/ql/src/test/queries/clientpositive/udf_reflect2.q +++ b/ql/src/test/queries/clientpositive/udf_reflect2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION reflect2; @@ -35,7 +69,7 @@ SELECT key, reflect2(ts, "getMinutes"), reflect2(ts, "getSeconds"), reflect2(ts, "getTime") -FROM (select cast(key as int) key, value, cast('2013-02-15 19:41:20' as timestamp) ts from src) a LIMIT 5; +FROM (select cast(key as int) key, value, cast('2013-02-15 19:41:20' as timestamp) ts from `s/c`) a LIMIT 5; SELECT key, @@ -69,4 +103,4 @@ SELECT key, reflect2(ts, "getMinutes"), reflect2(ts, "getSeconds"), reflect2(ts, "getTime") -FROM (select cast(key as int) key, value, cast('2013-02-15 19:41:20' as timestamp) ts from src) a LIMIT 5; +FROM (select cast(key as int) key, value, cast('2013-02-15 19:41:20' as timestamp) ts from `s/c`) a LIMIT 5; diff --git a/ql/src/test/queries/clientpositive/udf_regexp.q b/ql/src/test/queries/clientpositive/udf_regexp.q index 12b685b..b3ae531 100644 --- a/ql/src/test/queries/clientpositive/udf_regexp.q +++ b/ql/src/test/queries/clientpositive/udf_regexp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION regexp; @@ -5,4 +39,4 @@ DESCRIBE FUNCTION EXTENDED regexp; SELECT 'fofo' REGEXP '^fo', 'fo\no' REGEXP '^fo\no$', 'Bn' REGEXP '^Ba*n', 'afofo' REGEXP 'fo', 'afofo' REGEXP '^fo', 'Baan' REGEXP '^Ba?n', 'axe' REGEXP 'pi|apa', 'pip' REGEXP '^(pi)*$' -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_regexp_extract.q b/ql/src/test/queries/clientpositive/udf_regexp_extract.q index 7d7560d..098cdc7 100644 --- a/ql/src/test/queries/clientpositive/udf_regexp_extract.q +++ b/ql/src/test/queries/clientpositive/udf_regexp_extract.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION regexp_extract; DESCRIBE FUNCTION EXTENDED regexp_extract; diff --git a/ql/src/test/queries/clientpositive/udf_regexp_replace.q b/ql/src/test/queries/clientpositive/udf_regexp_replace.q index db536a1..43af792 100644 --- a/ql/src/test/queries/clientpositive/udf_regexp_replace.q +++ b/ql/src/test/queries/clientpositive/udf_regexp_replace.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION regexp_replace; DESCRIBE FUNCTION EXTENDED regexp_replace; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_repeat.q b/ql/src/test/queries/clientpositive/udf_repeat.q index 91474ba..df32d1e 100644 --- a/ql/src/test/queries/clientpositive/udf_repeat.q +++ b/ql/src/test/queries/clientpositive/udf_repeat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION repeat; @@ -8,11 +42,11 @@ EXPLAIN SELECT repeat("", 4), repeat("asd", 0), repeat("asdf", -1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT repeat("Facebook", 3), repeat("", 4), repeat("asd", 0), repeat("asdf", -1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_reverse.q b/ql/src/test/queries/clientpositive/udf_reverse.q index 89aafe3..955eae9 100644 --- a/ql/src/test/queries/clientpositive/udf_reverse.q +++ b/ql/src/test/queries/clientpositive/udf_reverse.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION reverse; DESCRIBE FUNCTION EXTENDED reverse; diff --git a/ql/src/test/queries/clientpositive/udf_rlike.q b/ql/src/test/queries/clientpositive/udf_rlike.q index 2758104..a857c76 100644 --- a/ql/src/test/queries/clientpositive/udf_rlike.q +++ b/ql/src/test/queries/clientpositive/udf_rlike.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION rlike; DESCRIBE FUNCTION EXTENDED rlike; diff --git a/ql/src/test/queries/clientpositive/udf_round.q b/ql/src/test/queries/clientpositive/udf_round.q index 88b2274..7368074 100644 --- a/ql/src/test/queries/clientpositive/udf_round.q +++ b/ql/src/test/queries/clientpositive/udf_round.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION round; @@ -5,13 +39,13 @@ DESCRIBE FUNCTION EXTENDED round; SELECT round(null), round(null, 0), round(125, null), round(1.0/0.0, 0), round(power(-1.0,0.5), 0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT round(55555), round(55555, 0), round(55555, 1), round(55555, 2), round(55555, 3), round(55555, -1), round(55555, -2), round(55555, -3), round(55555, -4), round(55555, -5), round(55555, -6), round(55555, -7), round(55555, -8) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT round(125.315), round(125.315, 0), @@ -20,7 +54,7 @@ SELECT round(-125.315), round(-125.315, 0), round(-125.315, 1), round(-125.315, 2), round(-125.315, 3), round(-125.315, 4), round(-125.315, -1), round(-125.315, -2), round(-125.315, -3), round(-125.315, -4) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT round(3.141592653589793, -15), round(3.141592653589793, -16), @@ -40,7 +74,7 @@ SELECT round(3.141592653589793, 12), round(3.141592653589793, 13), round(3.141592653589793, 13), round(3.141592653589793, 14), round(3.141592653589793, 15), round(3.141592653589793, 16) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT round(1809242.3151111344, 9), round(-1809242.3151111344, 9), round(1809242.3151111344BD, 9), round(-1809242.3151111344BD, 9) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_round_2.q b/ql/src/test/queries/clientpositive/udf_round_2.q index 43988c1..35b4adf 100644 --- a/ql/src/test/queries/clientpositive/udf_round_2.q +++ b/ql/src/test/queries/clientpositive/udf_round_2.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- test for NaN (not-a-number) create table tstTbl1(n double); insert overwrite table tstTbl1 -select 'NaN' from src tablesample (1 rows); +select 'NaN' from `s/c` tablesample (1 rows); select * from tstTbl1; @@ -12,4 +46,4 @@ select round(n, 1) from tstTbl1; select round(n) from tstTbl1; -- test for Infinity -select round(1/0), round(1/0, 2), round(1.0/0.0), round(1.0/0.0, 2) from src tablesample (1 rows); +select round(1/0), round(1/0, 2), round(1.0/0.0), round(1.0/0.0, 2) from `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_round_3.q b/ql/src/test/queries/clientpositive/udf_round_3.q index f042b6f..1ca2d77 100644 --- a/ql/src/test/queries/clientpositive/udf_round_3.q +++ b/ql/src/test/queries/clientpositive/udf_round_3.q @@ -1,16 +1,50 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- test for TINYINT -select round(-128), round(127), round(0) from src tablesample (1 rows); +select round(-128), round(127), round(0) from `s/c` tablesample (1 rows); -- test for SMALLINT -select round(-32768), round(32767), round(-129), round(128) from src tablesample (1 rows); +select round(-32768), round(32767), round(-129), round(128) from `s/c` tablesample (1 rows); -- test for INT -select round(cast(negative(pow(2, 31)) as INT)), round(cast((pow(2, 31) - 1) as INT)), round(-32769), round(32768) from src tablesample (1 rows); +select round(cast(negative(pow(2, 31)) as INT)), round(cast((pow(2, 31) - 1) as INT)), round(-32769), round(32768) from `s/c` tablesample (1 rows); -- test for BIGINT -select round(cast(negative(pow(2, 63)) as BIGINT)), round(cast((pow(2, 63) - 1) as BIGINT)), round(cast(negative(pow(2, 31) + 1) as BIGINT)), round(cast(pow(2, 31) as BIGINT)) from src tablesample (1 rows); +select round(cast(negative(pow(2, 63)) as BIGINT)), round(cast((pow(2, 63) - 1) as BIGINT)), round(cast(negative(pow(2, 31) + 1) as BIGINT)), round(cast(pow(2, 31) as BIGINT)) from `s/c` tablesample (1 rows); -- test for DOUBLE -select round(126.1), round(126.7), round(32766.1), round(32766.7) from src tablesample (1 rows); +select round(126.1), round(126.7), round(32766.1), round(32766.7) from `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_rpad.q b/ql/src/test/queries/clientpositive/udf_rpad.q index 4ee69e8..5e827e8 100644 --- a/ql/src/test/queries/clientpositive/udf_rpad.q +++ b/ql/src/test/queries/clientpositive/udf_rpad.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION rpad; @@ -7,10 +41,10 @@ EXPLAIN SELECT rpad('hi', 1, '?'), rpad('hi', 5, '.'), rpad('hi', 6, '123') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT rpad('hi', 1, '?'), rpad('hi', 5, '.'), rpad('hi', 6, '123') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_rtrim.q b/ql/src/test/queries/clientpositive/udf_rtrim.q index 33d09df..72977fd 100644 --- a/ql/src/test/queries/clientpositive/udf_rtrim.q +++ b/ql/src/test/queries/clientpositive/udf_rtrim.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION rtrim; DESCRIBE FUNCTION EXTENDED rtrim; diff --git a/ql/src/test/queries/clientpositive/udf_second.q b/ql/src/test/queries/clientpositive/udf_second.q index f63426d..872abfb 100644 --- a/ql/src/test/queries/clientpositive/udf_second.q +++ b/ql/src/test/queries/clientpositive/udf_second.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION second; @@ -5,7 +39,7 @@ DESCRIBE FUNCTION EXTENDED second; EXPLAIN SELECT second('2009-08-07 13:14:15'), second('13:14:15'), second('2009-08-07') -FROM src WHERE key = 86; +FROM `s/c` WHERE key = 86; SELECT second('2009-08-07 13:14:15'), second('13:14:15'), second('2009-08-07') -FROM src WHERE key = 86; +FROM `s/c` WHERE key = 86; diff --git a/ql/src/test/queries/clientpositive/udf_sentences.q b/ql/src/test/queries/clientpositive/udf_sentences.q index 009e4cb..746191e 100644 --- a/ql/src/test/queries/clientpositive/udf_sentences.q +++ b/ql/src/test/queries/clientpositive/udf_sentences.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE sent_tmp (val array); CREATE TABLE sent_tmp2 (val string); INSERT OVERWRITE TABLE sent_tmp -SELECT explode(sentences(decode(unhex("486976652065737420756E20657863656C6C656E74206F7574696C20706F7572206C65732072657175C3AA74657320646520646F6E6EC3A965732C20657420706575742DC3AA74726520706C757320706F6C7976616C656E7420717565206C612074726164756374696F6E206175746F6D61746971756521206C6120706F6E6374756174696F6E206D756C7469706C65732C206465732070687261736573206D616C20666F726DC3A96573202E2E2E20636F6E667573696F6E202D20657420706F757274616E742063652055444620666F6E6374696F6E6E6520656E636F72652121"), "UTF-8"), "fr")) AS val FROM src LIMIT 3; +SELECT explode(sentences(decode(unhex("486976652065737420756E20657863656C6C656E74206F7574696C20706F7572206C65732072657175C3AA74657320646520646F6E6EC3A965732C20657420706575742DC3AA74726520706C757320706F6C7976616C656E7420717565206C612074726164756374696F6E206175746F6D61746971756521206C6120706F6E6374756174696F6E206D756C7469706C65732C206465732070687261736573206D616C20666F726DC3A96573202E2E2E20636F6E667573696F6E202D20657420706F757274616E742063652055444620666F6E6374696F6E6E6520656E636F72652121"), "UTF-8"), "fr")) AS val FROM `s/c` LIMIT 3; INSERT OVERWRITE TABLE sent_tmp2 SELECT explode(val) AS val FROM sent_tmp; SELECT hex(val) AS value FROM sent_tmp2 ORDER BY value ASC; @@ -12,11 +46,11 @@ DROP TABLE sent_tmp2; CREATE TABLE sent_tmp (val array); CREATE TABLE sent_tmp2 (val string); INSERT OVERWRITE TABLE sent_tmp -SELECT explode(sentences(decode(unhex("48697665206973742065696E2061757367657A656963686E65746573205765726B7A6575672066C3BC7220646965204162667261676520766F6E20446174656E2C20756E64207669656C6C6569636874207669656C736569746967657220616C7320646965206D61736368696E656C6C6520C39C6265727365747A756E6721204D756C7469706C652C207363686C6563687420676562696C646574656E2053C3A4747A65202E2E2E205665727765636873656C756E6720496E74657270756E6B74696F6E202D20756E6420646F636820697374206469657365205544462066756E6B74696F6E6965727420696D6D6572206E6F63682121"), "UTF-8"), "de")) AS val FROM src LIMIT 3; +SELECT explode(sentences(decode(unhex("48697665206973742065696E2061757367657A656963686E65746573205765726B7A6575672066C3BC7220646965204162667261676520766F6E20446174656E2C20756E64207669656C6C6569636874207669656C736569746967657220616C7320646965206D61736368696E656C6C6520C39C6265727365747A756E6721204D756C7469706C652C207363686C6563687420676562696C646574656E2053C3A4747A65202E2E2E205665727765636873656C756E6720496E74657270756E6B74696F6E202D20756E6420646F636820697374206469657365205544462066756E6B74696F6E6965727420696D6D6572206E6F63682121"), "UTF-8"), "de")) AS val FROM `s/c` LIMIT 3; INSERT OVERWRITE TABLE sent_tmp2 SELECT explode(val) AS val FROM sent_tmp; SELECT hex(val) AS value FROM sent_tmp2 ORDER BY value ASC; -SELECT sentences("Hive is an excellent tool for data querying\; and perhaps more versatile than machine translation!! Multiple, ill-formed sentences...confounding punctuation--and yet this UDF still works!!!!") AS value FROM src ORDER BY value ASC LIMIT 1; +SELECT sentences("Hive is an excellent tool for data querying\; and perhaps more versatile than machine translation!! Multiple, ill-formed sentences...confounding punctuation--and yet this UDF still works!!!!") AS value FROM `s/c` ORDER BY value ASC LIMIT 1; diff --git a/ql/src/test/queries/clientpositive/udf_sha1.q b/ql/src/test/queries/clientpositive/udf_sha1.q index 0bfa7ec..06cdcf6 100644 --- a/ql/src/test/queries/clientpositive/udf_sha1.q +++ b/ql/src/test/queries/clientpositive/udf_sha1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION sha1; DESC FUNCTION EXTENDED sha; diff --git a/ql/src/test/queries/clientpositive/udf_sha2.q b/ql/src/test/queries/clientpositive/udf_sha2.q index 0a3443b..4e3ade1 100644 --- a/ql/src/test/queries/clientpositive/udf_sha2.q +++ b/ql/src/test/queries/clientpositive/udf_sha2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION sha2; DESC FUNCTION EXTENDED sha2; diff --git a/ql/src/test/queries/clientpositive/udf_sign.q b/ql/src/test/queries/clientpositive/udf_sign.q index b1602e8..37a1dfb 100644 --- a/ql/src/test/queries/clientpositive/udf_sign.q +++ b/ql/src/test/queries/clientpositive/udf_sign.q @@ -1,22 +1,56 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; explain -select sign(0) FROM src tablesample (1 rows); -select sign(0) FROM src tablesample (1 rows); +select sign(0) FROM `s/c` tablesample (1 rows); +select sign(0) FROM `s/c` tablesample (1 rows); -select sign(-45) FROM src tablesample (1 rows); +select sign(-45) FROM `s/c` tablesample (1 rows); -select sign(46) FROM src tablesample (1 rows); +select sign(46) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION sign; DESCRIBE FUNCTION EXTENDED sign; explain -select sign(0) FROM src tablesample (1 rows); -select sign(0) FROM src tablesample (1 rows); +select sign(0) FROM `s/c` tablesample (1 rows); +select sign(0) FROM `s/c` tablesample (1 rows); -select sign(-45) FROM src tablesample (1 rows); +select sign(-45) FROM `s/c` tablesample (1 rows); -select sign(46) FROM src tablesample (1 rows); +select sign(46) FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION sign; DESCRIBE FUNCTION EXTENDED sign; diff --git a/ql/src/test/queries/clientpositive/udf_sin.q b/ql/src/test/queries/clientpositive/udf_sin.q index 79745be..2206575 100644 --- a/ql/src/test/queries/clientpositive/udf_sin.q +++ b/ql/src/test/queries/clientpositive/udf_sin.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION sin; DESCRIBE FUNCTION EXTENDED sin; SELECT sin(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT sin(0.98), sin(1.57), sin(-0.5) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_size.q b/ql/src/test/queries/clientpositive/udf_size.q index f6f76a3..3b0452d 100644 --- a/ql/src/test/queries/clientpositive/udf_size.q +++ b/ql/src/test/queries/clientpositive/udf_size.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION size; diff --git a/ql/src/test/queries/clientpositive/udf_smallint.q b/ql/src/test/queries/clientpositive/udf_smallint.q index 202a401..451314b 100644 --- a/ql/src/test/queries/clientpositive/udf_smallint.q +++ b/ql/src/test/queries/clientpositive/udf_smallint.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION smallint; DESCRIBE FUNCTION EXTENDED smallint; diff --git a/ql/src/test/queries/clientpositive/udf_sort_array.q b/ql/src/test/queries/clientpositive/udf_sort_array.q index d53e2c8..8010613 100644 --- a/ql/src/test/queries/clientpositive/udf_sort_array.q +++ b/ql/src/test/queries/clientpositive/udf_sort_array.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; use default; @@ -8,25 +42,25 @@ DESCRIBE FUNCTION EXTENDED sort_array; -- Evaluate function against STRING valued keys EXPLAIN -SELECT sort_array(array("b", "d", "c", "a")) FROM src tablesample (1 rows); +SELECT sort_array(array("b", "d", "c", "a")) FROM `s/c` tablesample (1 rows); -SELECT sort_array(array("f", "a", "g", "c", "b", "d", "e")) FROM src tablesample (1 rows); -SELECT sort_array(sort_array(array("hadoop distributed file system", "enterprise databases", "hadoop map-reduce"))) FROM src tablesample (1 rows); +SELECT sort_array(array("f", "a", "g", "c", "b", "d", "e")) FROM `s/c` tablesample (1 rows); +SELECT sort_array(sort_array(array("hadoop distributed file system", "enterprise databases", "hadoop map-reduce"))) FROM `s/c` tablesample (1 rows); -- Evaluate function against INT valued keys -SELECT sort_array(array(2, 9, 7, 3, 5, 4, 1, 6, 8)) FROM src tablesample (1 rows); +SELECT sort_array(array(2, 9, 7, 3, 5, 4, 1, 6, 8)) FROM `s/c` tablesample (1 rows); -- Evaluate function against FLOAT valued keys -SELECT sort_array(sort_array(array(2.333, 9, 1.325, 2.003, 0.777, -3.445, 1))) FROM src tablesample (1 rows); +SELECT sort_array(sort_array(array(2.333, 9, 1.325, 2.003, 0.777, -3.445, 1))) FROM `s/c` tablesample (1 rows); -- Evaluate function against LIST valued keys -SELECT sort_array(array(array(2, 9, 7), array(3, 5, 4), array(1, 6, 8))) FROM src tablesample (1 rows); +SELECT sort_array(array(array(2, 9, 7), array(3, 5, 4), array(1, 6, 8))) FROM `s/c` tablesample (1 rows); -- Evaluate function against STRUCT valued keys -SELECT sort_array(array(struct(2, 9, 7), struct(3, 5, 4), struct(1, 6, 8))) FROM src tablesample (1 rows); +SELECT sort_array(array(struct(2, 9, 7), struct(3, 5, 4), struct(1, 6, 8))) FROM `s/c` tablesample (1 rows); -- Evaluate function against MAP valued keys -SELECT sort_array(array(map("b", 2, "a", 9, "c", 7), map("c", 3, "b", 5, "a", 1), map("a", 1, "c", 6, "b", 8))) FROM src tablesample (1 rows); +SELECT sort_array(array(map("b", 2, "a", 9, "c", 7), map("c", 3, "b", 5, "a", 1), map("a", 1, "c", 6, "b", 8))) FROM `s/c` tablesample (1 rows); -- Test it against data in a table. diff --git a/ql/src/test/queries/clientpositive/udf_soundex.q b/ql/src/test/queries/clientpositive/udf_soundex.q index c600084..f1011bb 100644 --- a/ql/src/test/queries/clientpositive/udf_soundex.q +++ b/ql/src/test/queries/clientpositive/udf_soundex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION soundex; DESC FUNCTION EXTENDED soundex; diff --git a/ql/src/test/queries/clientpositive/udf_space.q b/ql/src/test/queries/clientpositive/udf_space.q index cc616f7..2bb2000 100644 --- a/ql/src/test/queries/clientpositive/udf_space.q +++ b/ql/src/test/queries/clientpositive/udf_space.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION space; @@ -9,7 +43,7 @@ EXPLAIN SELECT space(1), space(-1), space(-100) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT length(space(10)), @@ -17,7 +51,7 @@ SELECT length(space(1)), length(space(-1)), length(space(-100)) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT space(10), @@ -25,5 +59,5 @@ SELECT space(1), space(-1), space(-100) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_split.q b/ql/src/test/queries/clientpositive/udf_split.q index 55919ea..336a7c0 100644 --- a/ql/src/test/queries/clientpositive/udf_split.q +++ b/ql/src/test/queries/clientpositive/udf_split.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION split; @@ -8,11 +42,11 @@ EXPLAIN SELECT split('oneAtwoBthreeC', '[ABC]'), split('', '.'), split(50401020, 0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT split('a b c', ' '), split('oneAtwoBthreeC', '[ABC]'), split('', '.'), split(50401020, 0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_sqrt.q b/ql/src/test/queries/clientpositive/udf_sqrt.q index aec061d..74a95ef 100644 --- a/ql/src/test/queries/clientpositive/udf_sqrt.q +++ b/ql/src/test/queries/clientpositive/udf_sqrt.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION sqrt; DESCRIBE FUNCTION EXTENDED sqrt; diff --git a/ql/src/test/queries/clientpositive/udf_std.q b/ql/src/test/queries/clientpositive/udf_std.q index 9a20256..7e58ae1 100644 --- a/ql/src/test/queries/clientpositive/udf_std.q +++ b/ql/src/test/queries/clientpositive/udf_std.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION std; DESCRIBE FUNCTION EXTENDED std; diff --git a/ql/src/test/queries/clientpositive/udf_stddev.q b/ql/src/test/queries/clientpositive/udf_stddev.q index b3b8794..3c85264 100644 --- a/ql/src/test/queries/clientpositive/udf_stddev.q +++ b/ql/src/test/queries/clientpositive/udf_stddev.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION stddev; DESCRIBE FUNCTION EXTENDED stddev; diff --git a/ql/src/test/queries/clientpositive/udf_stddev_pop.q b/ql/src/test/queries/clientpositive/udf_stddev_pop.q index 4abede7..b2df351 100644 --- a/ql/src/test/queries/clientpositive/udf_stddev_pop.q +++ b/ql/src/test/queries/clientpositive/udf_stddev_pop.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION udf_stddev_pop; DESCRIBE FUNCTION EXTENDED udf_stddev_pop; diff --git a/ql/src/test/queries/clientpositive/udf_stddev_samp.q b/ql/src/test/queries/clientpositive/udf_stddev_samp.q index 30d2f24..39efa63 100644 --- a/ql/src/test/queries/clientpositive/udf_stddev_samp.q +++ b/ql/src/test/queries/clientpositive/udf_stddev_samp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION stddev_samp; DESCRIBE FUNCTION EXTENDED stddev_samp; DESCRIBE FUNCTION stddev_samp; diff --git a/ql/src/test/queries/clientpositive/udf_string.q b/ql/src/test/queries/clientpositive/udf_string.q index 96e433e..48a76b5 100644 --- a/ql/src/test/queries/clientpositive/udf_string.q +++ b/ql/src/test/queries/clientpositive/udf_string.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION string; DESCRIBE FUNCTION EXTENDED string; diff --git a/ql/src/test/queries/clientpositive/udf_struct.q b/ql/src/test/queries/clientpositive/udf_struct.q index ee2135b..1adc526 100644 --- a/ql/src/test/queries/clientpositive/udf_struct.q +++ b/ql/src/test/queries/clientpositive/udf_struct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION struct; @@ -5,7 +39,7 @@ DESCRIBE FUNCTION EXTENDED struct; EXPLAIN SELECT struct(1), struct(1, "a"), struct(1, "b", 1.5).col1, struct(1, struct("a", 1.5)).col2.col1 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT struct(1), struct(1, "a"), struct(1, "b", 1.5).col1, struct(1, struct("a", 1.5)).col2.col1 -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_substr.q b/ql/src/test/queries/clientpositive/udf_substr.q index 2d04f90..aa9fae4 100644 --- a/ql/src/test/queries/clientpositive/udf_substr.q +++ b/ql/src/test/queries/clientpositive/udf_substr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION substr; @@ -7,7 +41,7 @@ SELECT substr(null, 1), substr(null, 1, 1), substr('ABC', null), substr('ABC', null, 1), substr('ABC', 1, null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT substr('ABC', 1, 0), substr('ABC', 1, -1), substr('ABC', 2, -100), @@ -16,7 +50,7 @@ SELECT substr('ABC', 100), substr('ABC', 100, 100), substr('ABC', -100), substr('ABC', -100, 100), substr('ABC', 2147483647), substr('ABC', 2147483647, 2147483647) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT substr('ABCDEFG', 3, 4), substr('ABCDEFG', -5, 4), @@ -24,7 +58,7 @@ SELECT substr('ABC', 0), substr('ABC', 1), substr('ABC', 2), substr('ABC', 3), substr('ABC', 1, 2147483647), substr('ABC', 2, 2147483647), substr('A', 0), substr('A', 1), substr('A', -1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT substr('ABC', 0, 1), substr('ABC', 0, 2), substr('ABC', 0, 3), substr('ABC', 0, 4), @@ -32,14 +66,14 @@ SELECT substr('ABC', 2, 1), substr('ABC', 2, 2), substr('ABC', 2, 3), substr('ABC', 2, 4), substr('ABC', 3, 1), substr('ABC', 3, 2), substr('ABC', 3, 3), substr('ABC', 3, 4), substr('ABC', 4, 1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT substr('ABC', -1, 1), substr('ABC', -1, 2), substr('ABC', -1, 3), substr('ABC', -1, 4), substr('ABC', -2, 1), substr('ABC', -2, 2), substr('ABC', -2, 3), substr('ABC', -2, 4), substr('ABC', -3, 1), substr('ABC', -3, 2), substr('ABC', -3, 3), substr('ABC', -3, 4), substr('ABC', -4, 1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- substring() is a synonim of substr(), so just perform some basic tests SELECT @@ -48,7 +82,7 @@ SELECT substring('ABC', 0), substring('ABC', 1), substring('ABC', 2), substring('ABC', 3), substring('ABC', 1, 2147483647), substring('ABC', 2, 2147483647), substring('A', 0), substring('A', 1), substring('A', -1) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- test for binary substr SELECT @@ -65,7 +99,7 @@ SELECT substr(ABC, -3, 1), substr(ABC, -3, 2), substr(ABC, -3, 3), substr(ABC, -3, 4), substr(ABC, -4, 1) FROM ( - select CAST(concat(substr(value, 1, 0), 'ABC') as BINARY) as ABC from src tablesample (1 rows) + select CAST(concat(substr(value, 1, 0), 'ABC') as BINARY) as ABC from `s/c` tablesample (1 rows) ) X; -- test UTF-8 substr @@ -74,4 +108,4 @@ SELECT substr("abc 玩", 5), substr("abc 玩玩玩 abc", 5), substr("abc 玩玩玩 abc", 5, 3) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_substring.q b/ql/src/test/queries/clientpositive/udf_substring.q index d56b828..ba3dcd2 100644 --- a/ql/src/test/queries/clientpositive/udf_substring.q +++ b/ql/src/test/queries/clientpositive/udf_substring.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Synonym. See udf_substr.q DESCRIBE FUNCTION substring; DESCRIBE FUNCTION EXTENDED substring; diff --git a/ql/src/test/queries/clientpositive/udf_substring_index.q b/ql/src/test/queries/clientpositive/udf_substring_index.q index d55e636..3d5e561 100644 --- a/ql/src/test/queries/clientpositive/udf_substring_index.q +++ b/ql/src/test/queries/clientpositive/udf_substring_index.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION substring_index; DESCRIBE FUNCTION EXTENDED substring_index; diff --git a/ql/src/test/queries/clientpositive/udf_subtract.q b/ql/src/test/queries/clientpositive/udf_subtract.q index 3bc5834..92cbbf9 100644 --- a/ql/src/test/queries/clientpositive/udf_subtract.q +++ b/ql/src/test/queries/clientpositive/udf_subtract.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION -; DESCRIBE FUNCTION EXTENDED -; diff --git a/ql/src/test/queries/clientpositive/udf_sum.q b/ql/src/test/queries/clientpositive/udf_sum.q index 325bcab..df08dcd 100644 --- a/ql/src/test/queries/clientpositive/udf_sum.q +++ b/ql/src/test/queries/clientpositive/udf_sum.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION sum; DESCRIBE FUNCTION EXTENDED sum; diff --git a/ql/src/test/queries/clientpositive/udf_tan.q b/ql/src/test/queries/clientpositive/udf_tan.q index 3980fe8..fb263be 100644 --- a/ql/src/test/queries/clientpositive/udf_tan.q +++ b/ql/src/test/queries/clientpositive/udf_tan.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION tan; DESCRIBE FUNCTION EXTENDED tan; SELECT tan(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT tan(1), tan(6), tan(-1.0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); DESCRIBE FUNCTION tan; DESCRIBE FUNCTION EXTENDED tan; SELECT tan(null) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT tan(1), tan(6), tan(-1.0) -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_testlength.q b/ql/src/test/queries/clientpositive/udf_testlength.q index c94a521..cc3a1c6 100644 --- a/ql/src/test/queries/clientpositive/udf_testlength.q +++ b/ql/src/test/queries/clientpositive/udf_testlength.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN @@ -5,6 +39,6 @@ CREATE TEMPORARY FUNCTION testlength AS 'org.apache.hadoop.hive.ql.udf.UDFTestLe CREATE TEMPORARY FUNCTION testlength AS 'org.apache.hadoop.hive.ql.udf.UDFTestLength'; -SELECT testlength(src.value) FROM src; +SELECT testlength(`s/c`.value) FROM `s/c`; DROP TEMPORARY FUNCTION testlength; diff --git a/ql/src/test/queries/clientpositive/udf_testlength2.q b/ql/src/test/queries/clientpositive/udf_testlength2.q index 27e46c2..6ca8967 100644 --- a/ql/src/test/queries/clientpositive/udf_testlength2.q +++ b/ql/src/test/queries/clientpositive/udf_testlength2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; EXPLAIN @@ -5,6 +39,6 @@ CREATE TEMPORARY FUNCTION testlength2 AS 'org.apache.hadoop.hive.ql.udf.UDFTestL CREATE TEMPORARY FUNCTION testlength2 AS 'org.apache.hadoop.hive.ql.udf.UDFTestLength2'; -SELECT testlength2(src.value) FROM src; +SELECT testlength2(`s/c`.value) FROM `s/c`; DROP TEMPORARY FUNCTION testlength2; diff --git a/ql/src/test/queries/clientpositive/udf_tinyint.q b/ql/src/test/queries/clientpositive/udf_tinyint.q index 56ea53a..7b40c1b 100644 --- a/ql/src/test/queries/clientpositive/udf_tinyint.q +++ b/ql/src/test/queries/clientpositive/udf_tinyint.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION tinyint; DESCRIBE FUNCTION EXTENDED tinyint; diff --git a/ql/src/test/queries/clientpositive/udf_to_boolean.q b/ql/src/test/queries/clientpositive/udf_to_boolean.q index 8bea7ab..bebea0f 100644 --- a/ql/src/test/queries/clientpositive/udf_to_boolean.q +++ b/ql/src/test/queries/clientpositive/udf_to_boolean.q @@ -1,46 +1,80 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- 'true' cases: -SELECT CAST(CAST(1 AS TINYINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(2 AS SMALLINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(-4 AS INT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(-444 AS BIGINT) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(1 AS TINYINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(2 AS SMALLINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-4 AS INT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-444 AS BIGINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(7.0 AS FLOAT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(-8.0 AS DOUBLE) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(-99.0 AS DECIMAL) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(7.0 AS FLOAT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-8.0 AS DOUBLE) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-99.0 AS DECIMAL) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST('Foo' AS STRING) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST('Foo' AS STRING) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST('2011-05-06 07:08:09' as timestamp) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST('2011-05-06 07:08:09' as timestamp) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -- 'false' cases: -SELECT CAST(CAST(0 AS TINYINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(0 AS SMALLINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(0 AS INT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(0 AS BIGINT) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(0 AS TINYINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(0 AS SMALLINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(0 AS INT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(0 AS BIGINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(0.0 AS FLOAT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(0.0 AS DOUBLE) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(0.0 AS DECIMAL) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(0.0 AS FLOAT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(0.0 AS DOUBLE) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(0.0 AS DECIMAL) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST('' AS STRING) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST('' AS STRING) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(0 as timestamp) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(0 as timestamp) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -- 'NULL' cases: -SELECT CAST(NULL AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(NULL AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(NULL AS TINYINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL AS SMALLINT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL AS INT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL AS BIGINT) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(NULL AS TINYINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL AS SMALLINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL AS INT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL AS BIGINT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(NULL AS FLOAT) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL AS DOUBLE) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL AS DECIMAL) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(NULL AS FLOAT) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL AS DOUBLE) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL AS DECIMAL) AS BOOLEAN) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(NULL AS STRING) AS BOOLEAN) FROM src tablesample (1 rows); -SELECT CAST(CAST(NULL as timestamp) AS BOOLEAN) FROM src tablesample (1 rows); +SELECT CAST(CAST(NULL AS STRING) AS BOOLEAN) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(NULL as timestamp) AS BOOLEAN) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_byte.q b/ql/src/test/queries/clientpositive/udf_to_byte.q index aa0a250..9df337c 100644 --- a/ql/src/test/queries/clientpositive/udf_to_byte.q +++ b/ql/src/test/queries/clientpositive/udf_to_byte.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to Byte type: -SELECT CAST(NULL AS TINYINT) FROM src tablesample (1 rows); +SELECT CAST(NULL AS TINYINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS TINYINT) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS TINYINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-18 AS SMALLINT) AS TINYINT) FROM src tablesample (1 rows); -SELECT CAST(-129 AS TINYINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-1025 AS BIGINT) AS TINYINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-18 AS SMALLINT) AS TINYINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS TINYINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-1025 AS BIGINT) AS TINYINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DOUBLE) AS TINYINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS FLOAT) AS TINYINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL) AS TINYINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DOUBLE) AS TINYINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS FLOAT) AS TINYINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL) AS TINYINT) FROM `s/c` tablesample (1 rows); -SELECT CAST('-38' AS TINYINT) FROM src tablesample (1 rows); +SELECT CAST('-38' AS TINYINT) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_date.q b/ql/src/test/queries/clientpositive/udf_to_date.q index 935609b..bc430cc 100644 --- a/ql/src/test/queries/clientpositive/udf_to_date.q +++ b/ql/src/test/queries/clientpositive/udf_to_date.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION to_date; DESCRIBE FUNCTION EXTENDED to_date; diff --git a/ql/src/test/queries/clientpositive/udf_to_double.q b/ql/src/test/queries/clientpositive/udf_to_double.q index 005ec9d..6d14ab8 100644 --- a/ql/src/test/queries/clientpositive/udf_to_double.q +++ b/ql/src/test/queries/clientpositive/udf_to_double.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to Double type: -SELECT CAST(NULL AS DOUBLE) FROM src tablesample (1 rows); +SELECT CAST(NULL AS DOUBLE) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS DOUBLE) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS DOUBLE) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-7 AS TINYINT) AS DOUBLE) FROM src tablesample (1 rows); -SELECT CAST(CAST(-18 AS SMALLINT) AS DOUBLE) FROM src tablesample (1 rows); -SELECT CAST(-129 AS DOUBLE) FROM src tablesample (1 rows); -SELECT CAST(CAST(-1025 AS BIGINT) AS DOUBLE) FROM src tablesample (1 rows); +SELECT CAST(CAST(-7 AS TINYINT) AS DOUBLE) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-18 AS SMALLINT) AS DOUBLE) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS DOUBLE) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-1025 AS BIGINT) AS DOUBLE) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS FLOAT) AS DOUBLE) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS DOUBLE) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS FLOAT) AS DOUBLE) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS DOUBLE) FROM `s/c` tablesample (1 rows); -SELECT CAST('-38.14' AS DOUBLE) FROM src tablesample (1 rows); +SELECT CAST('-38.14' AS DOUBLE) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_float.q b/ql/src/test/queries/clientpositive/udf_to_float.q index 95671f1..207e75a 100644 --- a/ql/src/test/queries/clientpositive/udf_to_float.q +++ b/ql/src/test/queries/clientpositive/udf_to_float.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to Float type: -SELECT CAST(NULL AS FLOAT) FROM src tablesample (1 rows); +SELECT CAST(NULL AS FLOAT) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS FLOAT) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS FLOAT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-7 AS TINYINT) AS FLOAT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-18 AS SMALLINT) AS FLOAT) FROM src tablesample (1 rows); -SELECT CAST(-129 AS FLOAT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-1025 AS BIGINT) AS FLOAT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-7 AS TINYINT) AS FLOAT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-18 AS SMALLINT) AS FLOAT) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS FLOAT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-1025 AS BIGINT) AS FLOAT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DOUBLE) AS FLOAT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS FLOAT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DOUBLE) AS FLOAT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS FLOAT) FROM `s/c` tablesample (1 rows); -SELECT CAST('-38.14' AS FLOAT) FROM src tablesample (1 rows); +SELECT CAST('-38.14' AS FLOAT) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_long.q b/ql/src/test/queries/clientpositive/udf_to_long.q index 706411a..8448489 100644 --- a/ql/src/test/queries/clientpositive/udf_to_long.q +++ b/ql/src/test/queries/clientpositive/udf_to_long.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to Long type: -SELECT CAST(NULL AS BIGINT) FROM src tablesample (1 rows); +SELECT CAST(NULL AS BIGINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS BIGINT) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS BIGINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-7 AS TINYINT) AS BIGINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-18 AS SMALLINT) AS BIGINT) FROM src tablesample (1 rows); -SELECT CAST(-129 AS BIGINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-7 AS TINYINT) AS BIGINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-18 AS SMALLINT) AS BIGINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS BIGINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DOUBLE) AS BIGINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS FLOAT) AS BIGINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL) AS BIGINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DOUBLE) AS BIGINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS FLOAT) AS BIGINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL) AS BIGINT) FROM `s/c` tablesample (1 rows); -SELECT CAST('-38' AS BIGINT) FROM src tablesample (1 rows); +SELECT CAST('-38' AS BIGINT) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_short.q b/ql/src/test/queries/clientpositive/udf_to_short.q index 5cc4e57..72243bd 100644 --- a/ql/src/test/queries/clientpositive/udf_to_short.q +++ b/ql/src/test/queries/clientpositive/udf_to_short.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to Short type: -SELECT CAST(NULL AS SMALLINT) FROM src tablesample (1 rows); +SELECT CAST(NULL AS SMALLINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS SMALLINT) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS SMALLINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-18 AS TINYINT) AS SMALLINT) FROM src tablesample (1 rows); -SELECT CAST(-129 AS SMALLINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-1025 AS BIGINT) AS SMALLINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-18 AS TINYINT) AS SMALLINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS SMALLINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-1025 AS BIGINT) AS SMALLINT) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DOUBLE) AS SMALLINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS FLOAT) AS SMALLINT) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL) AS SMALLINT) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DOUBLE) AS SMALLINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS FLOAT) AS SMALLINT) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL) AS SMALLINT) FROM `s/c` tablesample (1 rows); -SELECT CAST('-38' AS SMALLINT) FROM src tablesample (1 rows); +SELECT CAST('-38' AS SMALLINT) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_string.q b/ql/src/test/queries/clientpositive/udf_to_string.q index ac4b524..a889217 100644 --- a/ql/src/test/queries/clientpositive/udf_to_string.q +++ b/ql/src/test/queries/clientpositive/udf_to_string.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Conversion of main primitive types to String type: -SELECT CAST(NULL AS STRING) FROM src tablesample (1 rows); +SELECT CAST(NULL AS STRING) FROM `s/c` tablesample (1 rows); -SELECT CAST(TRUE AS STRING) FROM src tablesample (1 rows); +SELECT CAST(TRUE AS STRING) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(1 AS TINYINT) AS STRING) FROM src tablesample (1 rows); -SELECT CAST(CAST(-18 AS SMALLINT) AS STRING) FROM src tablesample (1 rows); -SELECT CAST(-129 AS STRING) FROM src tablesample (1 rows); -SELECT CAST(CAST(-1025 AS BIGINT) AS STRING) FROM src tablesample (1 rows); +SELECT CAST(CAST(1 AS TINYINT) AS STRING) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-18 AS SMALLINT) AS STRING) FROM `s/c` tablesample (1 rows); +SELECT CAST(-129 AS STRING) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-1025 AS BIGINT) AS STRING) FROM `s/c` tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DOUBLE) AS STRING) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS FLOAT) AS STRING) FROM src tablesample (1 rows); -SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS STRING) FROM src tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DOUBLE) AS STRING) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS FLOAT) AS STRING) FROM `s/c` tablesample (1 rows); +SELECT CAST(CAST(-3.14 AS DECIMAL(3,2)) AS STRING) FROM `s/c` tablesample (1 rows); -SELECT CAST('Foo' AS STRING) FROM src tablesample (1 rows); +SELECT CAST('Foo' AS STRING) FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_to_unix_timestamp.q b/ql/src/test/queries/clientpositive/udf_to_unix_timestamp.q index 0a2758e..3811b13 100644 --- a/ql/src/test/queries/clientpositive/udf_to_unix_timestamp.q +++ b/ql/src/test/queries/clientpositive/udf_to_unix_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION to_unix_timestamp; @@ -27,5 +61,5 @@ SELECT FROM oneline; -- PPD -explain select * from (select * from src) a where unix_timestamp(a.key) > 10; -explain select * from (select * from src) a where to_unix_timestamp(a.key) > 10; +explain select * from (select * from `s/c`) a where unix_timestamp(a.key) > 10; +explain select * from (select * from `s/c`) a where to_unix_timestamp(a.key) > 10; diff --git a/ql/src/test/queries/clientpositive/udf_to_utc_timestamp.q b/ql/src/test/queries/clientpositive/udf_to_utc_timestamp.q index cca6d7d..d666375 100644 --- a/ql/src/test/queries/clientpositive/udf_to_utc_timestamp.q +++ b/ql/src/test/queries/clientpositive/udf_to_utc_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION to_utc_timestamp; DESC FUNCTION EXTENDED to_utc_timestamp; diff --git a/ql/src/test/queries/clientpositive/udf_translate.q b/ql/src/test/queries/clientpositive/udf_translate.q index 1f349aa..9e7a66a 100644 --- a/ql/src/test/queries/clientpositive/udf_translate.q +++ b/ql/src/test/queries/clientpositive/udf_translate.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION translate; @@ -7,12 +41,12 @@ DESCRIBE FUNCTION EXTENDED translate; CREATE TABLE table_input(input STRING); CREATE TABLE table_translate(input_string STRING, from_string STRING, to_string STRING); -FROM src INSERT OVERWRITE TABLE table_input SELECT 'abcd' WHERE src.key = 86; -FROM src INSERT OVERWRITE TABLE table_translate SELECT 'abcd', 'ahd', '12' WHERE src.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE table_input SELECT 'abcd' WHERE `s/c`.key = 86; +FROM `s/c` INSERT OVERWRITE TABLE table_translate SELECT 'abcd', 'ahd', '12' WHERE `s/c`.key = 86; -- Run some queries on constant input parameters SELECT translate('abcd', 'ab', '12'), - translate('abcd', 'abc', '12') FROM src tablesample (1 rows); + translate('abcd', 'abc', '12') FROM `s/c` tablesample (1 rows); -- Run some queries where first parameter being a table column while the other two being constants SELECT translate(table_input.input, 'ab', '12'), @@ -25,19 +59,19 @@ SELECT translate(input_string, from_string, to_string) FROM table_translate tabl SELECT translate(NULL, 'ab', '12'), translate('abcd', NULL, '12'), translate('abcd', 'ab', NULL), - translate(NULL, NULL, NULL) FROM src tablesample (1 rows); + translate(NULL, NULL, NULL) FROM `s/c` tablesample (1 rows); -- Run some queries where the same character appears several times in the from string (2nd argument) of the UDF SELECT translate('abcd', 'aba', '123'), - translate('abcd', 'aba', '12') FROM src tablesample (1 rows); + translate('abcd', 'aba', '12') FROM `s/c` tablesample (1 rows); -- Run some queries for the ignorant case when the 3rd parameter has more characters than the second one -SELECT translate('abcd', 'abc', '1234') FROM src tablesample (1 rows); +SELECT translate('abcd', 'abc', '1234') FROM `s/c` tablesample (1 rows); -- Test proper function over UTF-8 characters -SELECT translate('Àbcd', 'À', 'Ã') FROM src tablesample (1 rows); +SELECT translate('Àbcd', 'À', 'Ã') FROM `s/c` tablesample (1 rows); -- Run some queries where the arguments are not strings but chars and varchars SELECT translate(CAST('abcd' AS CHAR(5)), CAST('aba' AS VARCHAR(5)), CAST('123' AS CHAR(5))), translate(CAST('abcd' AS VARCHAR(9)), CAST('aba' AS CHAR(9)), CAST('12' AS VARCHAR(9))) - FROM src tablesample (1 rows); + FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_trim.q b/ql/src/test/queries/clientpositive/udf_trim.q index 1fa34e0..5587ba0 100644 --- a/ql/src/test/queries/clientpositive/udf_trim.q +++ b/ql/src/test/queries/clientpositive/udf_trim.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION trim; DESCRIBE FUNCTION EXTENDED trim; diff --git a/ql/src/test/queries/clientpositive/udf_trunc.q b/ql/src/test/queries/clientpositive/udf_trunc.q index 2ac40cf..187d695 100644 --- a/ql/src/test/queries/clientpositive/udf_trunc.q +++ b/ql/src/test/queries/clientpositive/udf_trunc.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION trunc; DESCRIBE FUNCTION EXTENDED trunc; diff --git a/ql/src/test/queries/clientpositive/udf_ucase.q b/ql/src/test/queries/clientpositive/udf_ucase.q index a61b9ba..e127474 100644 --- a/ql/src/test/queries/clientpositive/udf_ucase.q +++ b/ql/src/test/queries/clientpositive/udf_ucase.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION ucase; DESCRIBE FUNCTION EXTENDED ucase; diff --git a/ql/src/test/queries/clientpositive/udf_unhex.q b/ql/src/test/queries/clientpositive/udf_unhex.q index 257e469..1cb80fc 100644 --- a/ql/src/test/queries/clientpositive/udf_unhex.q +++ b/ql/src/test/queries/clientpositive/udf_unhex.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION unhex; @@ -11,11 +45,11 @@ SELECT unhex('61'), unhex('2D34'), unhex('') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Bad inputs SELECT unhex('MySQL'), unhex('G123'), unhex('\0') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_union.q b/ql/src/test/queries/clientpositive/udf_union.q index 3876beb..7f8e7f2 100644 --- a/ql/src/test/queries/clientpositive/udf_union.q +++ b/ql/src/test/queries/clientpositive/udf_union.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION create_union; @@ -6,8 +40,8 @@ DESCRIBE FUNCTION EXTENDED create_union; EXPLAIN SELECT create_union(0, key), create_union(if(key<100, 0, 1), 2.0, value), create_union(1, "a", struct(2, "b")) -FROM src tablesample (2 rows); +FROM `s/c` tablesample (2 rows); SELECT create_union(0, key), create_union(if(key<100, 0, 1), 2.0, value), create_union(1, "a", struct(2, "b")) -FROM src tablesample (2 rows); +FROM `s/c` tablesample (2 rows); diff --git a/ql/src/test/queries/clientpositive/udf_unix_timestamp.q b/ql/src/test/queries/clientpositive/udf_unix_timestamp.q index bb598c2..348165d 100644 --- a/ql/src/test/queries/clientpositive/udf_unix_timestamp.q +++ b/ql/src/test/queries/clientpositive/udf_unix_timestamp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION unix_timestamp; diff --git a/ql/src/test/queries/clientpositive/udf_upper.q b/ql/src/test/queries/clientpositive/udf_upper.q index 2a9d5ed..1756ed3 100644 --- a/ql/src/test/queries/clientpositive/udf_upper.q +++ b/ql/src/test/queries/clientpositive/udf_upper.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION upper; DESCRIBE FUNCTION EXTENDED upper; diff --git a/ql/src/test/queries/clientpositive/udf_using.q b/ql/src/test/queries/clientpositive/udf_using.q index 093187d..6a2927f 100644 --- a/ql/src/test/queries/clientpositive/udf_using.q +++ b/ql/src/test/queries/clientpositive/udf_using.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + dfs ${system:test.dfs.mkdir} hdfs:///tmp/udf_using; dfs -copyFromLocal ../../data/files/sales.txt hdfs:///tmp/udf_using/sales.txt; @@ -5,7 +39,7 @@ dfs -copyFromLocal ../../data/files/sales.txt hdfs:///tmp/udf_using/sales.txt; create function lookup as 'org.apache.hadoop.hive.ql.udf.UDFFileLookup' using file 'hdfs:///tmp/udf_using/sales.txt'; create table udf_using (c1 string); -insert overwrite table udf_using select 'Joe' from src limit 2; +insert overwrite table udf_using select 'Joe' from `s/c` limit 2; select c1, lookup(c1) from udf_using; diff --git a/ql/src/test/queries/clientpositive/udf_var_pop.q b/ql/src/test/queries/clientpositive/udf_var_pop.q index 7761506..ac9510c 100644 --- a/ql/src/test/queries/clientpositive/udf_var_pop.q +++ b/ql/src/test/queries/clientpositive/udf_var_pop.q @@ -1,2 +1,36 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION var_pop; DESCRIBE FUNCTION EXTENDED var_pop; diff --git a/ql/src/test/queries/clientpositive/udf_var_samp.q b/ql/src/test/queries/clientpositive/udf_var_samp.q index de68e49..9b44828 100644 --- a/ql/src/test/queries/clientpositive/udf_var_samp.q +++ b/ql/src/test/queries/clientpositive/udf_var_samp.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION var_samp; DESCRIBE FUNCTION EXTENDED var_samp; DESCRIBE FUNCTION var_samp; diff --git a/ql/src/test/queries/clientpositive/udf_variance.q b/ql/src/test/queries/clientpositive/udf_variance.q index 579cc8e..ea7081c 100644 --- a/ql/src/test/queries/clientpositive/udf_variance.q +++ b/ql/src/test/queries/clientpositive/udf_variance.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION variance; DESCRIBE FUNCTION EXTENDED variance; diff --git a/ql/src/test/queries/clientpositive/udf_weekofyear.q b/ql/src/test/queries/clientpositive/udf_weekofyear.q index abb0a2d..424c0f5 100644 --- a/ql/src/test/queries/clientpositive/udf_weekofyear.q +++ b/ql/src/test/queries/clientpositive/udf_weekofyear.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION weekofyear; @@ -5,4 +39,4 @@ DESCRIBE FUNCTION EXTENDED weekofyear; SELECT weekofyear('1980-01-01'), weekofyear('1980-01-06'), weekofyear('1980-01-07'), weekofyear('1980-12-31'), weekofyear('1984-1-1'), weekofyear('2008-02-20 00:00:00'), weekofyear('1980-12-28 23:59:59'), weekofyear('1980-12-29 23:59:59') -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_when.q b/ql/src/test/queries/clientpositive/udf_when.q index 4eb7f69..6a30976 100644 --- a/ql/src/test/queries/clientpositive/udf_when.q +++ b/ql/src/test/queries/clientpositive/udf_when.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION when; @@ -29,7 +63,7 @@ SELECT CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); SELECT CASE WHEN 1=1 THEN 2 @@ -56,7 +90,7 @@ SELECT CASE WHEN 25=26 THEN 27 WHEN 28=28 THEN NULL END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); -- Allow compatible types to be used in return value SELECT CASE @@ -73,4 +107,4 @@ SELECT CASE WHEN 1=2 THEN cast('efgh' as varchar(10)) ELSE cast('ijkl' as char(4)) END -FROM src tablesample (1 rows); +FROM `s/c` tablesample (1 rows); diff --git a/ql/src/test/queries/clientpositive/udf_xpath.q b/ql/src/test/queries/clientpositive/udf_xpath.q index 1ad38ab..3efa3c8 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath.q +++ b/ql/src/test/queries/clientpositive/udf_xpath.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath ; DESCRIBE FUNCTION EXTENDED xpath ; -SELECT xpath ('b1b2b3c1c2', 'a/text()') FROM src tablesample (1 rows) ; -SELECT xpath ('b1b2b3c1c2', 'a/*/text()') FROM src tablesample (1 rows) ; -SELECT xpath ('b1b2b3c1c2', 'a/b/text()') FROM src tablesample (1 rows) ; -SELECT xpath ('b1b2b3c1c2', 'a/c/text()') FROM src tablesample (1 rows) ; -SELECT xpath ('b1b2b3c1c2', 'a/*[@class="bb"]/text()') FROM src tablesample (1 rows) ; \ No newline at end of file +SELECT xpath ('b1b2b3c1c2', 'a/text()') FROM `s/c` tablesample (1 rows) ; +SELECT xpath ('b1b2b3c1c2', 'a/*/text()') FROM `s/c` tablesample (1 rows) ; +SELECT xpath ('b1b2b3c1c2', 'a/b/text()') FROM `s/c` tablesample (1 rows) ; +SELECT xpath ('b1b2b3c1c2', 'a/c/text()') FROM `s/c` tablesample (1 rows) ; +SELECT xpath ('b1b2b3c1c2', 'a/*[@class="bb"]/text()') FROM `s/c` tablesample (1 rows) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_xpath_boolean.q b/ql/src/test/queries/clientpositive/udf_xpath_boolean.q index 6e3ff24..66e4052 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_boolean.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_boolean.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_boolean ; DESCRIBE FUNCTION EXTENDED xpath_boolean ; -SELECT xpath_boolean ('b', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_boolean ('b', 'a/c') FROM src tablesample (1 rows) ; -SELECT xpath_boolean ('b', 'a/b = "b"') FROM src tablesample (1 rows) ; -SELECT xpath_boolean ('b', 'a/b = "c"') FROM src tablesample (1 rows) ; -SELECT xpath_boolean ('10', 'a/b < 10') FROM src tablesample (1 rows) ; -SELECT xpath_boolean ('10', 'a/b = 10') FROM src tablesample (1 rows) ; +SELECT xpath_boolean ('b', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_boolean ('b', 'a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_boolean ('b', 'a/b = "b"') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_boolean ('b', 'a/b = "c"') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_boolean ('10', 'a/b < 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_boolean ('10', 'a/b = 10') FROM `s/c` tablesample (1 rows) ; diff --git a/ql/src/test/queries/clientpositive/udf_xpath_double.q b/ql/src/test/queries/clientpositive/udf_xpath_double.q index 6844176..ed3bed7 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_double.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_double.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_number ; @@ -6,11 +40,11 @@ DESCRIBE FUNCTION EXTENDED xpath_number ; DESCRIBE FUNCTION xpath_double ; DESCRIBE FUNCTION EXTENDED xpath_double ; -SELECT xpath_double ('this is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_double ('this 2 is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_double ('200000000040000000000', 'a/b * a/c') FROM src tablesample (1 rows) ; -SELECT xpath_double ('try a boolean', 'a = 10') FROM src tablesample (1 rows) ; -SELECT xpath_double ('1248', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_double ('1248', 'sum(a/*)') FROM src tablesample (1 rows) ; -SELECT xpath_double ('1248', 'sum(a/b)') FROM src tablesample (1 rows) ; -SELECT xpath_double ('1248', 'sum(a/b[@class="odd"])') FROM src tablesample (1 rows) ; \ No newline at end of file +SELECT xpath_double ('this is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('this 2 is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('200000000040000000000', 'a/b * a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('try a boolean', 'a = 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('1248', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('1248', 'sum(a/*)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('1248', 'sum(a/b)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_double ('1248', 'sum(a/b[@class="odd"])') FROM `s/c` tablesample (1 rows) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_xpath_float.q b/ql/src/test/queries/clientpositive/udf_xpath_float.q index 4596a32..622336a 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_float.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_float.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_float ; DESCRIBE FUNCTION EXTENDED xpath_float ; -SELECT xpath_float ('this is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_float ('this 2 is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_float ('200000000040000000000', 'a/b * a/c') FROM src tablesample (1 rows) ; -SELECT xpath_float ('try a boolean', 'a = 10') FROM src tablesample (1 rows) ; -SELECT xpath_float ('1248', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_float ('1248', 'sum(a/*)') FROM src tablesample (1 rows) ; -SELECT xpath_float ('1248', 'sum(a/b)') FROM src tablesample (1 rows) ; -SELECT xpath_float ('1248', 'sum(a/b[@class="odd"])') FROM src tablesample (1 rows) ; \ No newline at end of file +SELECT xpath_float ('this is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('this 2 is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('200000000040000000000', 'a/b * a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('try a boolean', 'a = 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('1248', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('1248', 'sum(a/*)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('1248', 'sum(a/b)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_float ('1248', 'sum(a/b[@class="odd"])') FROM `s/c` tablesample (1 rows) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_xpath_int.q b/ql/src/test/queries/clientpositive/udf_xpath_int.q index 9f3898f..8a86c9d 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_int.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_int.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_int ; DESCRIBE FUNCTION EXTENDED xpath_int ; -SELECT xpath_int ('this is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_int ('this 2 is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_int ('200000000040000000000', 'a/b * a/c') FROM src tablesample (1 rows) ; -SELECT xpath_int ('try a boolean', 'a = 10') FROM src tablesample (1 rows) ; -SELECT xpath_int ('1248', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_int ('1248', 'sum(a/*)') FROM src tablesample (1 rows) ; -SELECT xpath_int ('1248', 'sum(a/b)') FROM src tablesample (1 rows) ; -SELECT xpath_int ('1248', 'sum(a/b[@class="odd"])') FROM src tablesample (1 rows) ; \ No newline at end of file +SELECT xpath_int ('this is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('this 2 is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('200000000040000000000', 'a/b * a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('try a boolean', 'a = 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('1248', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('1248', 'sum(a/*)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('1248', 'sum(a/b)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_int ('1248', 'sum(a/b[@class="odd"])') FROM `s/c` tablesample (1 rows) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_xpath_long.q b/ql/src/test/queries/clientpositive/udf_xpath_long.q index 3a33593..18badb7 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_long.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_long.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_long ; DESCRIBE FUNCTION EXTENDED xpath_long ; -SELECT xpath_long ('this is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_long ('this 2 is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_long ('200000000040000000000', 'a/b * a/c') FROM src tablesample (1 rows) ; -SELECT xpath_long ('try a boolean', 'a = 10') FROM src tablesample (1 rows) ; -SELECT xpath_long ('1248', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_long ('1248', 'sum(a/*)') FROM src tablesample (1 rows) ; -SELECT xpath_long ('1248', 'sum(a/b)') FROM src tablesample (1 rows) ; -SELECT xpath_long ('1248', 'sum(a/b[@class="odd"])') FROM src tablesample (1 rows) ; +SELECT xpath_long ('this is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('this 2 is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('200000000040000000000', 'a/b * a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('try a boolean', 'a = 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('1248', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('1248', 'sum(a/*)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('1248', 'sum(a/b)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_long ('1248', 'sum(a/b[@class="odd"])') FROM `s/c` tablesample (1 rows) ; diff --git a/ql/src/test/queries/clientpositive/udf_xpath_short.q b/ql/src/test/queries/clientpositive/udf_xpath_short.q index 073056e..68f3c55 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_short.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_short.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_short ; DESCRIBE FUNCTION EXTENDED xpath_short ; -SELECT xpath_short ('this is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_short ('this 2 is not a number', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_short ('200000000040000000000', 'a/b * a/c') FROM src tablesample (1 rows) ; -SELECT xpath_short ('try a boolean', 'a = 10') FROM src tablesample (1 rows) ; -SELECT xpath_short ('1248', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_short ('1248', 'sum(a/*)') FROM src tablesample (1 rows) ; -SELECT xpath_short ('1248', 'sum(a/b)') FROM src tablesample (1 rows) ; -SELECT xpath_short ('1248', 'sum(a/b[@class="odd"])') FROM src tablesample (1 rows) ; \ No newline at end of file +SELECT xpath_short ('this is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('this 2 is not a number', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('200000000040000000000', 'a/b * a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('try a boolean', 'a = 10') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('1248', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('1248', 'sum(a/*)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('1248', 'sum(a/b)') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_short ('1248', 'sum(a/b[@class="odd"])') FROM `s/c` tablesample (1 rows) ; \ No newline at end of file diff --git a/ql/src/test/queries/clientpositive/udf_xpath_string.q b/ql/src/test/queries/clientpositive/udf_xpath_string.q index 1f1731c..bb6fd86 100644 --- a/ql/src/test/queries/clientpositive/udf_xpath_string.q +++ b/ql/src/test/queries/clientpositive/udf_xpath_string.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION xpath_string ; DESCRIBE FUNCTION EXTENDED xpath_string ; -SELECT xpath_string ('bbcc', 'a') FROM src tablesample (1 rows) ; -SELECT xpath_string ('bbcc', 'a/b') FROM src tablesample (1 rows) ; -SELECT xpath_string ('bbcc', 'a/c') FROM src tablesample (1 rows) ; -SELECT xpath_string ('bbcc', 'a/d') FROM src tablesample (1 rows) ; -SELECT xpath_string ('b1b2', '//b') FROM src tablesample (1 rows) ; -SELECT xpath_string ('b1b2', 'a/b[1]') FROM src tablesample (1 rows) ; -SELECT xpath_string ('b1b2', 'a/b[2]') FROM src tablesample (1 rows) ; -SELECT xpath_string ('b1b2', 'a/b[@id="b_2"]') FROM src tablesample (1 rows) ; +SELECT xpath_string ('bbcc', 'a') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('bbcc', 'a/b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('bbcc', 'a/c') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('bbcc', 'a/d') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('b1b2', '//b') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('b1b2', 'a/b[1]') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('b1b2', 'a/b[2]') FROM `s/c` tablesample (1 rows) ; +SELECT xpath_string ('b1b2', 'a/b[@id="b_2"]') FROM `s/c` tablesample (1 rows) ; diff --git a/ql/src/test/queries/clientpositive/udtf_explode.q b/ql/src/test/queries/clientpositive/udtf_explode.q index db9018c..6f18bc7 100644 --- a/ql/src/test/queries/clientpositive/udtf_explode.q +++ b/ql/src/test/queries/clientpositive/udtf_explode.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; DESCRIBE FUNCTION explode; DESCRIBE FUNCTION EXTENDED explode; -EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM src LIMIT 3; -EXPLAIN EXTENDED SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM src LIMIT 3) a GROUP BY a.myCol; +EXPLAIN EXTENDED SELECT explode(array(1,2,3)) AS myCol FROM `s/c` LIMIT 3; +EXPLAIN EXTENDED SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM `s/c` LIMIT 3) a GROUP BY a.myCol; -SELECT explode(array(1,2,3)) AS myCol FROM src LIMIT 3; -SELECT explode(array(1,2,3)) AS (myCol) FROM src LIMIT 3; -SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM src LIMIT 3) a GROUP BY a.myCol; +SELECT explode(array(1,2,3)) AS myCol FROM `s/c` LIMIT 3; +SELECT explode(array(1,2,3)) AS (myCol) FROM `s/c` LIMIT 3; +SELECT a.myCol, count(1) FROM (SELECT explode(array(1,2,3)) AS myCol FROM `s/c` LIMIT 3) a GROUP BY a.myCol; -EXPLAIN SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM src LIMIT 3; -EXPLAIN EXTENDED SELECT a.myKey, a.myVal, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM src LIMIT 3) a GROUP BY a.myKey, a.myVal; +EXPLAIN SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM `s/c` LIMIT 3; +EXPLAIN EXTENDED SELECT a.myKey, a.myVal, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM `s/c` LIMIT 3) a GROUP BY a.myKey, a.myVal; -SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM src LIMIT 3; -SELECT a.myKey, a.myVal, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM src LIMIT 3) a GROUP BY a.myKey, a.myVal; +SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM `s/c` LIMIT 3; +SELECT a.myKey, a.myVal, count(1) FROM (SELECT explode(map(1,'one',2,'two',3,'three')) as (myKey,myVal) FROM `s/c` LIMIT 3) a GROUP BY a.myKey, a.myVal; -SELECT src.key, myCol FROM src lateral view explode(array(1,2,3)) x AS myCol LIMIT 3; -SELECT src.key, myKey, myVal FROM src lateral view explode(map(1,'one',2,'two',3,'three')) x AS myKey,myVal LIMIT 3; +SELECT `s/c`.key, myCol FROM `s/c` lateral view explode(array(1,2,3)) x AS myCol LIMIT 3; +SELECT `s/c`.key, myKey, myVal FROM `s/c` lateral view explode(map(1,'one',2,'two',3,'three')) x AS myKey,myVal LIMIT 3; -- HIVE-4295 -SELECT BLOCK__OFFSET__INSIDE__FILE, src.key, myKey, myVal FROM src lateral view explode(map(1,'one',2,'two',3,'three')) x AS myKey,myVal LIMIT 3; +SELECT BLOCK__OFFSET__INSIDE__FILE, `s/c`.key, myKey, myVal FROM `s/c` lateral view explode(map(1,'one',2,'two',3,'three')) x AS myKey,myVal LIMIT 3; diff --git a/ql/src/test/queries/clientpositive/udtf_json_tuple.q b/ql/src/test/queries/clientpositive/udtf_json_tuple.q index 93d829d..f39c210 100644 --- a/ql/src/test/queries/clientpositive/udtf_json_tuple.q +++ b/ql/src/test/queries/clientpositive/udtf_json_tuple.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table json_t (key string, jstring string); insert overwrite table json_t select * from ( - select '1', '{"f1": "value1", "f2": "value2", "f3": 3, "f5": 5.23}' from src tablesample (1 rows) + select '1', '{"f1": "value1", "f2": "value2", "f3": 3, "f5": 5.23}' from `s/c` tablesample (1 rows) union all - select '2', '{"f1": "value12", "f3": "value3", "f2": 2, "f4": 4.01}' from src tablesample (1 rows) + select '2', '{"f1": "value12", "f3": "value3", "f2": 2, "f4": 4.01}' from `s/c` tablesample (1 rows) union all - select '3', '{"f1": "value13", "f4": "value44", "f3": "value33", "f2": 2, "f5": 5.01}' from src tablesample (1 rows) + select '3', '{"f1": "value13", "f4": "value44", "f3": "value33", "f2": 2, "f5": 5.01}' from `s/c` tablesample (1 rows) union all - select '4', cast(null as string) from src tablesample (1 rows) + select '4', cast(null as string) from `s/c` tablesample (1 rows) union all - select '5', '{"f1": "", "f5": null}' from src tablesample (1 rows) + select '5', '{"f1": "", "f5": null}' from `s/c` tablesample (1 rows) union all - select '6', '[invalid JSON string]' from src tablesample (1 rows) + select '6', '[invalid JSON string]' from `s/c` tablesample (1 rows) ) s; explain @@ -40,7 +74,7 @@ select f2, count(*) from json_t a lateral view json_tuple(a.jstring, 'f1', 'f2', CREATE TABLE dest1(c1 STRING) STORED AS RCFILE; -INSERT OVERWRITE TABLE dest1 SELECT '{"a":"b\nc"}' FROM src tablesample (1 rows); +INSERT OVERWRITE TABLE dest1 SELECT '{"a":"b\nc"}' FROM `s/c` tablesample (1 rows); SELECT * FROM dest1; diff --git a/ql/src/test/queries/clientpositive/udtf_parse_url_tuple.q b/ql/src/test/queries/clientpositive/udtf_parse_url_tuple.q index 0870cbc..8636977 100644 --- a/ql/src/test/queries/clientpositive/udtf_parse_url_tuple.q +++ b/ql/src/test/queries/clientpositive/udtf_parse_url_tuple.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table url_t (key string, fullurl string); insert overwrite table url_t select * from ( - select '1', 'http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1' from src tablesample (1 rows) + select '1', 'http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1' from `s/c` tablesample (1 rows) union all - select '2', 'https://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html?k1=tps#chapter1' from src tablesample (1 rows) + select '2', 'https://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html?k1=tps#chapter1' from `s/c` tablesample (1 rows) union all - select '3', 'ftp://sites.google.com/a/example.com/site/page' from src tablesample (1 rows) + select '3', 'ftp://sites.google.com/a/example.com/site/page' from `s/c` tablesample (1 rows) union all - select '4', cast(null as string) from src tablesample (1 rows) + select '4', cast(null as string) from `s/c` tablesample (1 rows) union all - select '5', 'htttp://' from src tablesample (1 rows) + select '5', 'htttp://' from `s/c` tablesample (1 rows) union all - select '6', '[invalid url string]' from src tablesample (1 rows) + select '6', '[invalid url string]' from `s/c` tablesample (1 rows) ) s; describe function parse_url_tuple; diff --git a/ql/src/test/queries/clientpositive/udtf_posexplode.q b/ql/src/test/queries/clientpositive/udtf_posexplode.q index 343f08b..d7c94e9 100644 --- a/ql/src/test/queries/clientpositive/udtf_posexplode.q +++ b/ql/src/test/queries/clientpositive/udtf_posexplode.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE employees ( name STRING, salary FLOAT, diff --git a/ql/src/test/queries/clientpositive/udtf_stack.q b/ql/src/test/queries/clientpositive/udtf_stack.q index 1643ab5..08b4d1e 100644 --- a/ql/src/test/queries/clientpositive/udtf_stack.q +++ b/ql/src/test/queries/clientpositive/udtf_stack.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DESCRIBE FUNCTION stack; -EXPLAIN SELECT x, y FROM src LATERAL VIEW STACK(2, 'x', array(1), 'z') a AS x, y LIMIT 2; -EXPLAIN SELECT x, y FROM src LATERAL VIEW STACK(2, 'x', array(1), 'z', array(4)) a AS x, y LIMIT 2; +EXPLAIN SELECT x, y FROM `s/c` LATERAL VIEW STACK(2, 'x', array(1), 'z') a AS x, y LIMIT 2; +EXPLAIN SELECT x, y FROM `s/c` LATERAL VIEW STACK(2, 'x', array(1), 'z', array(4)) a AS x, y LIMIT 2; -SELECT x, y FROM src LATERAL VIEW STACK(2, 'x', array(1), 'z') a AS x, y LIMIT 2; -SELECT x, y FROM src LATERAL VIEW STACK(2, 'x', array(1), 'z', array(4)) a AS x, y LIMIT 2; +SELECT x, y FROM `s/c` LATERAL VIEW STACK(2, 'x', array(1), 'z') a AS x, y LIMIT 2; +SELECT x, y FROM `s/c` LATERAL VIEW STACK(2, 'x', array(1), 'z', array(4)) a AS x, y LIMIT 2; EXPLAIN SELECT stack(1, "en", "dbpedia", NULL ); diff --git a/ql/src/test/queries/clientpositive/unicode_notation.q b/ql/src/test/queries/clientpositive/unicode_notation.q index b339736..611fefc 100644 --- a/ql/src/test/queries/clientpositive/unicode_notation.q +++ b/ql/src/test/queries/clientpositive/unicode_notation.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- HIVE-4618 hive should accept unicode notation like \uxxxx CREATE TABLE k1( a string)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\u0001'; diff --git a/ql/src/test/queries/clientpositive/union.q b/ql/src/test/queries/clientpositive/union.q index f1bf126..30d2e98 100644 --- a/ql/src/test/queries/clientpositive/union.q +++ b/ql/src/test/queries/clientpositive/union.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -- union case: both subqueries are map jobs on same input, followed by filesink EXPLAIN FROM ( - FROM src select src.key, src.value WHERE src.key < 100 + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 UNION ALL - FROM src SELECT src.* WHERE src.key > 100 + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > 100 ) unioninput INSERT OVERWRITE DIRECTORY 'target/warehouse/union.out' SELECT unioninput.*; FROM ( - FROM src select src.key, src.value WHERE src.key < 100 + FROM `s/c` select `s/c`.key, `s/c`.value WHERE `s/c`.key < 100 UNION ALL - FROM src SELECT src.* WHERE src.key > 100 + FROM `s/c` SELECT `s/c`.* WHERE `s/c`.key > 100 ) unioninput INSERT OVERWRITE DIRECTORY 'target/warehouse/union.out' SELECT unioninput.*; diff --git a/ql/src/test/queries/clientpositive/union10.q b/ql/src/test/queries/clientpositive/union10.q index 7860980..29082f3 100644 --- a/ql/src/test/queries/clientpositive/union10.q +++ b/ql/src/test/queries/clientpositive/union10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; -- SORT_QUERY_RESULTS @@ -8,19 +42,19 @@ create table tmptable(key string, value int); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION ALL - select 'tst3' as key, count(1) as value from src s3) unionsrc; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc; insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION ALL - select 'tst3' as key, count(1) as value from src s3) unionsrc; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc; select * from tmptable x sort by x.key; diff --git a/ql/src/test/queries/clientpositive/union11.q b/ql/src/test/queries/clientpositive/union11.q index 1f11ff6..72145a0 100644 --- a/ql/src/test/queries/clientpositive/union11.q +++ b/ql/src/test/queries/clientpositive/union11.q @@ -1,20 +1,54 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; -- SORT_BEFORE_DIFF -- union case: all subqueries are a map-reduce jobs, 3 way union, same input for all sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION ALL - select 'tst3' as key, count(1) as value from src s3) unionsrc group by unionsrc.key; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc group by unionsrc.key; - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION ALL - select 'tst3' as key, count(1) as value from src s3) unionsrc group by unionsrc.key; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc group by unionsrc.key; diff --git a/ql/src/test/queries/clientpositive/union12.q b/ql/src/test/queries/clientpositive/union12.q index de0acd2..7d04a5d 100644 --- a/ql/src/test/queries/clientpositive/union12.q +++ b/ql/src/test/queries/clientpositive/union12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; -- SORT_QUERY_RESULTS @@ -8,7 +42,7 @@ create table tmptable(key string, value int); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL select 'tst2' as key, count(1) as value from src1 s2 UNION ALL @@ -16,7 +50,7 @@ insert overwrite table tmptable insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL select 'tst2' as key, count(1) as value from src1 s2 UNION ALL diff --git a/ql/src/test/queries/clientpositive/union13.q b/ql/src/test/queries/clientpositive/union13.q index c9cee66..7ffc216 100644 --- a/ql/src/test/queries/clientpositive/union13.q +++ b/ql/src/test/queries/clientpositive/union13.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -- union case: both subqueries are a map-only jobs, same input, followed by filesink explain - select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc; + select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc; +select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; diff --git a/ql/src/test/queries/clientpositive/union14.q b/ql/src/test/queries/clientpositive/union14.q index ccd1444..5e72480 100644 --- a/ql/src/test/queries/clientpositive/union14.q +++ b/ql/src/test/queries/clientpositive/union14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; -- SORT_BEFORE_DIFF -- union case: 1 subquery is a map-reduce job, different inputs for sub-queries, followed by reducesink @@ -5,12 +39,12 @@ set hive.map.aggr = true; explain select unionsrc.key, count(1) FROM (select s2.key as key, s2.value as value from src1 s2 UNION ALL - select 'tst1' as key, cast(count(1) as string) as value from src s1) + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1) unionsrc group by unionsrc.key; select unionsrc.key, count(1) FROM (select s2.key as key, s2.value as value from src1 s2 UNION ALL - select 'tst1' as key, cast(count(1) as string) as value from src s1) + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1) unionsrc group by unionsrc.key; diff --git a/ql/src/test/queries/clientpositive/union15.q b/ql/src/test/queries/clientpositive/union15.q index 65eceeb..5bc94a6 100644 --- a/ql/src/test/queries/clientpositive/union15.q +++ b/ql/src/test/queries/clientpositive/union15.q @@ -1,15 +1,49 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.map.aggr = true; -- SORT_BEFORE_DIFF -- union case: 1 subquery is a map-reduce job, different inputs for sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2 UNION ALL select s3.key as key, s3.value as value from src1 s3) unionsrc group by unionsrc.key; - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2 UNION ALL diff --git a/ql/src/test/queries/clientpositive/union16.q b/ql/src/test/queries/clientpositive/union16.q index bf15fc9..2d2f084 100644 --- a/ql/src/test/queries/clientpositive/union16.q +++ b/ql/src/test/queries/clientpositive/union16.q @@ -1,64 +1,98 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF EXPLAIN SELECT count(1) FROM ( - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src) src; + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c`) `s/c`; SELECT count(1) FROM ( - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src UNION ALL - SELECT key, value FROM src) src; + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c` UNION ALL + SELECT key, value FROM `s/c`) `s/c`; diff --git a/ql/src/test/queries/clientpositive/union17.q b/ql/src/test/queries/clientpositive/union17.q index 2d31f6b..df55c68 100644 --- a/ql/src/test/queries/clientpositive/union17.q +++ b/ql/src/test/queries/clientpositive/union17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE DEST1(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; @@ -5,15 +39,15 @@ CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; diff --git a/ql/src/test/queries/clientpositive/union18.q b/ql/src/test/queries/clientpositive/union18.q index 79827f4..3ccacfd 100644 --- a/ql/src/test/queries/clientpositive/union18.q +++ b/ql/src/test/queries/clientpositive/union18.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE DEST1(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; @@ -6,15 +40,15 @@ CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, unionsrc.value INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, unionsrc.value INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, unionsrc.value; diff --git a/ql/src/test/queries/clientpositive/union19.q b/ql/src/test/queries/clientpositive/union19.q index d2f5789..48f2755 100644 --- a/ql/src/test/queries/clientpositive/union19.q +++ b/ql/src/test/queries/clientpositive/union19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS CREATE TABLE DEST1(key STRING, value STRING) STORED AS TEXTFILE; @@ -6,15 +40,15 @@ CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, count(unionsrc.value) group by unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, count(unionsrc.value) group by unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, unionsrc.value; diff --git a/ql/src/test/queries/clientpositive/union2.q b/ql/src/test/queries/clientpositive/union2.q index 58765c7..94bd303 100644 --- a/ql/src/test/queries/clientpositive/union2.q +++ b/ql/src/test/queries/clientpositive/union2.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_BEFORE_DIFF -- union case: both subqueries are map-reduce jobs on same input, followed by reduce sink explain - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2) unionsrc; +select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; diff --git a/ql/src/test/queries/clientpositive/union20.q b/ql/src/test/queries/clientpositive/union20.q index e7d99bd..9847fc2 100644 --- a/ql/src/test/queries/clientpositive/union20.q +++ b/ql/src/test/queries/clientpositive/union20.q @@ -1,23 +1,57 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- union :map-reduce sub-queries followed by join explain SELECT unionsrc1.key, unionsrc1.value, unionsrc2.key, unionsrc2.value -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2 where s2.key < 10) unionsrc1 + select s2.key as key, s2.value as value from `s/c` s2 where s2.key < 10) unionsrc1 JOIN - (select 'tst1' as key, cast(count(1) as string) as value from src s3 + (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s3 UNION ALL - select s4.key as key, s4.value as value from src s4 where s4.key < 10) unionsrc2 + select s4.key as key, s4.value as value from `s/c` s4 where s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); SELECT unionsrc1.key, unionsrc1.value, unionsrc2.key, unionsrc2.value -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL - select s2.key as key, s2.value as value from src s2 where s2.key < 10) unionsrc1 + select s2.key as key, s2.value as value from `s/c` s2 where s2.key < 10) unionsrc1 JOIN - (select 'tst1' as key, cast(count(1) as string) as value from src s3 + (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s3 UNION ALL - select s4.key as key, s4.value as value from src s4 where s4.key < 10) unionsrc2 + select s4.key as key, s4.value as value from `s/c` s4 where s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); diff --git a/ql/src/test/queries/clientpositive/union21.q b/ql/src/test/queries/clientpositive/union21.q index 284669d..33ecdcb 100644 --- a/ql/src/test/queries/clientpositive/union21.q +++ b/ql/src/test/queries/clientpositive/union21.q @@ -1,14 +1,48 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- union of constants, udf outputs, and columns from text table and thrift table explain SELECT key, count(1) FROM ( - SELECT '1' as key from src + SELECT '1' as key from `s/c` UNION ALL - SELECT reverse(key) as key from src + SELECT reverse(key) as key from `s/c` UNION ALL - SELECT key as key from src + SELECT key as key from `s/c` UNION ALL SELECT astring as key from src_thrift UNION ALL @@ -18,11 +52,11 @@ GROUP BY key; SELECT key, count(1) FROM ( - SELECT '1' as key from src + SELECT '1' as key from `s/c` UNION ALL - SELECT reverse(key) as key from src + SELECT reverse(key) as key from `s/c` UNION ALL - SELECT key as key from src + SELECT key as key from `s/c` UNION ALL SELECT astring as key from src_thrift UNION ALL diff --git a/ql/src/test/queries/clientpositive/union22.q b/ql/src/test/queries/clientpositive/union22.q index 7477d2c..886336b 100644 --- a/ql/src/test/queries/clientpositive/union22.q +++ b/ql/src/test/queries/clientpositive/union22.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS create table dst_union22(k1 string, k2 string, k3 string, k4 string) partitioned by (ds string); create table dst_union22_delta(k0 string, k1 string, k2 string, k3 string, k4 string, k5 string) partitioned by (ds string); insert overwrite table dst_union22 partition (ds='1') -select key, value, key , value from src; +select key, value, key , value from `s/c`; insert overwrite table dst_union22_delta partition (ds='1') -select key, key, value, key, value, value from src; +select key, key, value, key, value, value from `s/c`; set hive.merge.mapfiles=false; diff --git a/ql/src/test/queries/clientpositive/union23.q b/ql/src/test/queries/clientpositive/union23.q index 41dca46..238e773 100644 --- a/ql/src/test/queries/clientpositive/union23.q +++ b/ql/src/test/queries/clientpositive/union23.q @@ -1,17 +1,51 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + explain select s.key2, s.value2 from ( select transform(key, value) using 'cat' as (key2, value2) - from src + from `s/c` union all - select key as key2, value as value2 from src) s + select key as key2, value as value2 from `s/c`) s order by s.key2, s.value2; select s.key2, s.value2 from ( select transform(key, value) using 'cat' as (key2, value2) - from src + from `s/c` union all - select key as key2, value as value2 from src) s + select key as key2, value as value2 from `s/c`) s order by s.key2, s.value2; diff --git a/ql/src/test/queries/clientpositive/union24.q b/ql/src/test/queries/clientpositive/union24.q index 0564a3a..42165d2 100644 --- a/ql/src/test/queries/clientpositive/union24.q +++ b/ql/src/test/queries/clientpositive/union24.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -create table src2 as select key, count(1) as count from src group by key; +create table src2 as select key, count(1) as count from `s/c` group by key; create table src3 as select * from src2; create table src4 as select * from src2; create table src5 as select * from src2; diff --git a/ql/src/test/queries/clientpositive/union25.q b/ql/src/test/queries/clientpositive/union25.q index 04e782e..5d0e421 100644 --- a/ql/src/test/queries/clientpositive/union25.q +++ b/ql/src/test/queries/clientpositive/union25.q @@ -1,14 +1,48 @@ -create table tmp_srcpart like srcpart; +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +create table tmp_srcpart like `s/cpart`; insert overwrite table tmp_srcpart partition (ds='2008-04-08', hr='11') -select key, value from srcpart where ds='2008-04-08' and hr='11'; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11'; explain create table tmp_unionall as SELECT count(1) as counts, key, value FROM ( - SELECT key, value FROM srcpart a WHERE a.ds='2008-04-08' and a.hr='11' + SELECT key, value FROM `s/cpart` a WHERE a.ds='2008-04-08' and a.hr='11' UNION ALL diff --git a/ql/src/test/queries/clientpositive/union26.q b/ql/src/test/queries/clientpositive/union26.q index f0b3cbd..255ebc0 100644 --- a/ql/src/test/queries/clientpositive/union26.q +++ b/ql/src/test/queries/clientpositive/union26.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN @@ -10,14 +44,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION ALL select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -32,14 +66,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION ALL select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -55,14 +89,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION ALL select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -77,14 +111,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION ALL select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value diff --git a/ql/src/test/queries/clientpositive/union27.q b/ql/src/test/queries/clientpositive/union27.q index 8f3af6b..1b0efe8 100644 --- a/ql/src/test/queries/clientpositive/union27.q +++ b/ql/src/test/queries/clientpositive/union27.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -create table jackson_sev_same as select * from src; -create table dim_pho as select * from src; -create table jackson_sev_add as select * from src; +create table jackson_sev_same as select * from `s/c`; +create table dim_pho as select * from `s/c`; +create table jackson_sev_add as select * from `s/c`; explain select b.* from jackson_sev_same a join (select * from dim_pho union all select * from jackson_sev_add)b on a.key=b.key and b.key=97; select b.* from jackson_sev_same a join (select * from dim_pho union all select * from jackson_sev_add)b on a.key=b.key and b.key=97; diff --git a/ql/src/test/queries/clientpositive/union28.q b/ql/src/test/queries/clientpositive/union28.q index 6aebfeb..7df8e21 100644 --- a/ql/src/test/queries/clientpositive/union28.q +++ b/ql/src/test/queries/clientpositive/union28.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table union_subq_union(key int, value string); explain insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value union all - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a ; insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value union all - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a ; diff --git a/ql/src/test/queries/clientpositive/union29.q b/ql/src/test/queries/clientpositive/union29.q index ea99d4c..26be1e8 100644 --- a/ql/src/test/queries/clientpositive/union29.q +++ b/ql/src/test/queries/clientpositive/union29.q @@ -1,28 +1,62 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table union_subq_union(key int, value string); explain insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value from src + select key, value from `s/c` union all - select key, value from src + select key, value from `s/c` ) subq ) a ; insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value from src + select key, value from `s/c` union all - select key, value from src + select key, value from `s/c` ) subq ) a ; diff --git a/ql/src/test/queries/clientpositive/union3.q b/ql/src/test/queries/clientpositive/union3.q index 35b298b..4f6bbbc 100644 --- a/ql/src/test/queries/clientpositive/union3.q +++ b/ql/src/test/queries/clientpositive/union3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS @@ -5,16 +39,16 @@ explain SELECT * FROM ( SELECT 1 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION ALL SELECT 2 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION ALL SELECT 3 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 UNION ALL SELECT 4 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 CLUSTER BY id ) a; @@ -26,16 +60,16 @@ insert overwrite table union_out SELECT * FROM ( SELECT 1 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION ALL SELECT 2 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION ALL SELECT 3 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 UNION ALL SELECT 4 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 CLUSTER BY id ) a; diff --git a/ql/src/test/queries/clientpositive/union30.q b/ql/src/test/queries/clientpositive/union30.q index 9763bc3..89c9279 100644 --- a/ql/src/test/queries/clientpositive/union30.q +++ b/ql/src/test/queries/clientpositive/union30.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table union_subq_union(key int, value string); explain @@ -5,19 +39,19 @@ insert overwrite table union_subq_union select * from ( select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value union all - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a union all -select key, value from src +select key, value from `s/c` ) aa ; @@ -25,19 +59,19 @@ insert overwrite table union_subq_union select * from ( select * from ( - select key, value from src + select key, value from `s/c` union all select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value union all - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a union all -select key, value from src +select key, value from `s/c` ) aa ; diff --git a/ql/src/test/queries/clientpositive/union31.q b/ql/src/test/queries/clientpositive/union31.q index caf87d0..a958fa6 100644 --- a/ql/src/test/queries/clientpositive/union31.q +++ b/ql/src/test/queries/clientpositive/union31.q @@ -1,11 +1,45 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table t1; drop table t2; -create table t1 as select * from src where key < 10; -create table t2 as select * from src where key < 10; +create table t1 as select * from `s/c` where key < 10; +create table t2 as select * from `s/c` where key < 10; create table t3(key string, cnt int); create table t4(value string, cnt int); @@ -66,8 +100,8 @@ select * from t6; drop table t1; drop table t2; -create table t1 as select * from src where key < 10; -create table t2 as select key, count(1) as cnt from src where key < 10 group by key; +create table t1 as select * from `s/c` where key < 10; +create table t2 as select key, count(1) as cnt from `s/c` where key < 10 group by key; create table t7(c1 string, cnt int); create table t8(c1 string, cnt int); diff --git a/ql/src/test/queries/clientpositive/union32.q b/ql/src/test/queries/clientpositive/union32.q index 86e97d7..f05d994 100644 --- a/ql/src/test/queries/clientpositive/union32.q +++ b/ql/src/test/queries/clientpositive/union32.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- This tests various union queries which have columns on one side of the query -- being of double type and those on the other side another -CREATE TABLE t1 AS SELECT * FROM src WHERE key < 10; -CREATE TABLE t2 AS SELECT * FROM src WHERE key < 10; +CREATE TABLE t1 AS SELECT * FROM `s/c` WHERE key < 10; +CREATE TABLE t2 AS SELECT * FROM `s/c` WHERE key < 10; -- Test simple union with double EXPLAIN diff --git a/ql/src/test/queries/clientpositive/union33.q b/ql/src/test/queries/clientpositive/union33.q index 90a7a3d..29e15c4 100644 --- a/ql/src/test/queries/clientpositive/union33.q +++ b/ql/src/test/queries/clientpositive/union33.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.groupby.skewindata=true; -- SORT_BEFORE_DIFF -- This tests that a union all with a map only subquery on one side and a @@ -7,19 +41,19 @@ CREATE TABLE test_src (key STRING, value STRING); EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key )a; INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key )a; @@ -27,19 +61,19 @@ SELECT COUNT(*) FROM test_src; EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key UNION ALL - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 )a; INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key UNION ALL - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 )a; diff --git a/ql/src/test/queries/clientpositive/union34.q b/ql/src/test/queries/clientpositive/union34.q index 238b583..3baac65 100644 --- a/ql/src/test/queries/clientpositive/union34.q +++ b/ql/src/test/queries/clientpositive/union34.q @@ -1,9 +1,43 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table src10_1 (key string, value string); create table src10_2 (key string, value string); create table src10_3 (key string, value string); create table src10_4 (key string, value string); -from (select * from src tablesample (10 rows)) a +from (select * from `s/c` tablesample (10 rows)) a insert overwrite table src10_1 select * insert overwrite table src10_2 select * insert overwrite table src10_3 select * diff --git a/ql/src/test/queries/clientpositive/union35.q b/ql/src/test/queries/clientpositive/union35.q index c2a311e..3f7fd8d 100644 --- a/ql/src/test/queries/clientpositive/union35.q +++ b/ql/src/test/queries/clientpositive/union35.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select * from ( - select * from ( select 1 as id , 'foo' as str_1 from src tablesample(5 rows)) f + select * from ( select 1 as id , 'foo' as str_1 from `s/c` tablesample(5 rows)) f union all - select * from ( select 2 as id , 'bar' as str_2 from src tablesample(5 rows)) g + select * from ( select 2 as id , 'bar' as str_2 from `s/c` tablesample(5 rows)) g ) e ; set hive.cbo.enable=false; select * from ( - select * from ( select 1 as id , 'foo' as str_1 from src tablesample(5 rows)) f + select * from ( select 1 as id , 'foo' as str_1 from `s/c` tablesample(5 rows)) f union all - select * from ( select 2 as id , 'bar' as str_2 from src tablesample(5 rows)) g + select * from ( select 2 as id , 'bar' as str_2 from `s/c` tablesample(5 rows)) g ) e ; diff --git a/ql/src/test/queries/clientpositive/union4.q b/ql/src/test/queries/clientpositive/union4.q index 5e4f6fd..1388c4c 100644 --- a/ql/src/test/queries/clientpositive/union4.q +++ b/ql/src/test/queries/clientpositive/union4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr = true; @@ -10,14 +44,14 @@ create table tmptable(key string, value int); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2) unionsrc; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc; insert overwrite table tmptable -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2) unionsrc; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc; select * from tmptable x sort by x.key; diff --git a/ql/src/test/queries/clientpositive/union5.q b/ql/src/test/queries/clientpositive/union5.q index b495d01..0128603 100644 --- a/ql/src/test/queries/clientpositive/union5.q +++ b/ql/src/test/queries/clientpositive/union5.q @@ -1,13 +1,47 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr = true; -- SORT_BEFORE_DIFF -- union case: both subqueries are map-reduce jobs on same input, followed by reduce sink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2) unionsrc group by unionsrc.key; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc group by unionsrc.key; -select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 +select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION ALL - select 'tst2' as key, count(1) as value from src s2) unionsrc group by unionsrc.key; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc group by unionsrc.key; diff --git a/ql/src/test/queries/clientpositive/union6.q b/ql/src/test/queries/clientpositive/union6.q index 87347b1..e2acbcd 100644 --- a/ql/src/test/queries/clientpositive/union6.q +++ b/ql/src/test/queries/clientpositive/union6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr = true; @@ -9,12 +43,12 @@ create table tmptable(key string, value string); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2) unionsrc; insert overwrite table tmptable -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2) unionsrc; diff --git a/ql/src/test/queries/clientpositive/union7.q b/ql/src/test/queries/clientpositive/union7.q index 872b09e..4d60eeb 100644 --- a/ql/src/test/queries/clientpositive/union7.q +++ b/ql/src/test/queries/clientpositive/union7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.map.aggr = true; @@ -5,11 +39,11 @@ set hive.map.aggr = true; -- union case: 1 subquery is a map-reduce job, different inputs for sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2) unionsrc group by unionsrc.key; -select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION ALL select s2.key as key, s2.value as value from src1 s2) unionsrc group by unionsrc.key; diff --git a/ql/src/test/queries/clientpositive/union8.q b/ql/src/test/queries/clientpositive/union8.q index bc5f3b1..2c6fa46 100644 --- a/ql/src/test/queries/clientpositive/union8.q +++ b/ql/src/test/queries/clientpositive/union8.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_BEFORE_DIFF -- union case: all subqueries are a map-only jobs, 3 way union, same input for all sub-queries, followed by filesink explain - select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2 UNION ALL - select s3.key as key, s3.value as value from src s3) unionsrc; + select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2 UNION ALL + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; -select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2 UNION ALL - select s3.key as key, s3.value as value from src s3) unionsrc; +select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2 UNION ALL + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; diff --git a/ql/src/test/queries/clientpositive/union9.q b/ql/src/test/queries/clientpositive/union9.q index 064cf10..6242ef8 100644 --- a/ql/src/test/queries/clientpositive/union9.q +++ b/ql/src/test/queries/clientpositive/union9.q @@ -1,12 +1,46 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_BEFORE_DIFF -- union case: all subqueries are a map-only jobs, 3 way union, same input for all sub-queries, followed by reducesink explain - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2 UNION ALL - select s3.key as key, s3.value as value from src s3) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2 UNION ALL + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION ALL - select s2.key as key, s2.value as value from src s2 UNION ALL - select s3.key as key, s3.value as value from src s3) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION ALL + select s2.key as key, s2.value as value from `s/c` s2 UNION ALL + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; diff --git a/ql/src/test/queries/clientpositive/unionDistinct_1.q b/ql/src/test/queries/clientpositive/unionDistinct_1.q index 984ce2e..848b63e 100644 --- a/ql/src/test/queries/clientpositive/unionDistinct_1.q +++ b/ql/src/test/queries/clientpositive/unionDistinct_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- union10.q @@ -9,19 +43,19 @@ create table tmptable(key string, value int); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION DISTINCT - select 'tst3' as key, count(1) as value from src s3) unionsrc; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc; insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION DISTINCT - select 'tst3' as key, count(1) as value from src s3) unionsrc; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc; select * from tmptable x sort by x.key; @@ -33,18 +67,18 @@ select * from tmptable x sort by x.key; -- union case: all subqueries are a map-reduce jobs, 3 way union, same input for all sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION DISTINCT - select 'tst3' as key, count(1) as value from src s3) unionsrc group by unionsrc.key; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc group by unionsrc.key; - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2 + select 'tst2' as key, count(1) as value from `s/c` s2 UNION DISTINCT - select 'tst3' as key, count(1) as value from src s3) unionsrc group by unionsrc.key; + select 'tst3' as key, count(1) as value from `s/c` s3) unionsrc group by unionsrc.key; @@ -58,7 +92,7 @@ create table tmptable12(key string, value int); explain insert overwrite table tmptable12 - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT select 'tst2' as key, count(1) as value from src1 s2 UNION DISTINCT @@ -66,7 +100,7 @@ insert overwrite table tmptable12 insert overwrite table tmptable12 - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT select 'tst2' as key, count(1) as value from src1 s2 UNION DISTINCT @@ -79,11 +113,11 @@ select * from tmptable12 x sort by x.key; -- union case: both subqueries are a map-only jobs, same input, followed by filesink explain - select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc; + select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc; +select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -- union14.q @@ -93,14 +127,14 @@ select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as valu explain select unionsrc.key, count(1) FROM (select s2.key as key, s2.value as value from src1 s2 UNION DISTINCT - select 'tst1' as key, cast(count(1) as string) as value from src s1) + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1) unionsrc group by unionsrc.key; select unionsrc.key, count(1) FROM (select s2.key as key, s2.value as value from src1 s2 UNION DISTINCT - select 'tst1' as key, cast(count(1) as string) as value from src s1) + select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1) unionsrc group by unionsrc.key; -- union15.q @@ -109,13 +143,13 @@ explain -- union case: 1 subquery is a map-reduce job, different inputs for sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2 UNION DISTINCT select s3.key as key, s3.value as value from src1 s3) unionsrc group by unionsrc.key; - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2 UNION DISTINCT @@ -127,67 +161,67 @@ explain -- SORT_BEFORE_DIFF EXPLAIN SELECT count(1) FROM ( - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src) src; + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c`) `s/c`; SELECT count(1) FROM ( - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src UNION DISTINCT - SELECT key, value FROM src) src; + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c` UNION DISTINCT + SELECT key, value FROM `s/c`) `s/c`; -- union17.q CREATE TABLE DEST1(key STRING, value STRING) STORED AS TEXTFILE; @@ -197,15 +231,15 @@ CREATE TABLE DEST2(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST1 SELECT unionsrc.key, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key INSERT OVERWRITE TABLE DEST2 SELECT unionsrc.key, unionsrc.value, COUNT(DISTINCT SUBSTR(unionsrc.value,5)) GROUP BY unionsrc.key, unionsrc.value; @@ -219,15 +253,15 @@ CREATE TABLE DEST218(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST118 SELECT unionsrc.key, unionsrc.value INSERT OVERWRITE TABLE DEST218 SELECT unionsrc.key, unionsrc.value, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST118 SELECT unionsrc.key, unionsrc.value INSERT OVERWRITE TABLE DEST218 SELECT unionsrc.key, unionsrc.value, unionsrc.value; @@ -244,15 +278,15 @@ CREATE TABLE DEST219(key STRING, val1 STRING, val2 STRING) STORED AS TEXTFILE; -- union case:map-reduce sub-queries followed by multi-table insert explain -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST119 SELECT unionsrc.key, count(unionsrc.value) group by unionsrc.key INSERT OVERWRITE TABLE DEST219 SELECT unionsrc.key, unionsrc.value, unionsrc.value; -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc + select s2.key as key, s2.value as value from `s/c` s2) unionsrc INSERT OVERWRITE TABLE DEST119 SELECT unionsrc.key, count(unionsrc.value) group by unionsrc.key INSERT OVERWRITE TABLE DEST219 SELECT unionsrc.key, unionsrc.value, unionsrc.value; @@ -267,11 +301,11 @@ SELECT DEST219.* FROM DEST219 SORT BY DEST219.key, DEST219.val1, DEST219.val2; -- union case: both subqueries are map-reduce jobs on same input, followed by reduce sink explain - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2) unionsrc; +select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2) unionsrc; -- union20.q -- SORT_BEFORE_DIFF @@ -279,23 +313,23 @@ select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION explain SELECT unionsrc1.key, unionsrc1.value, unionsrc2.key, unionsrc2.value -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 where s2.key < 10) unionsrc1 + select s2.key as key, s2.value as value from `s/c` s2 where s2.key < 10) unionsrc1 JOIN - (select 'tst1' as key, cast(count(1) as string) as value from src s3 + (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s3 UNION DISTINCT - select s4.key as key, s4.value as value from src s4 where s4.key < 10) unionsrc2 + select s4.key as key, s4.value as value from `s/c` s4 where s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); SELECT unionsrc1.key, unionsrc1.value, unionsrc2.key, unionsrc2.value -FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 where s2.key < 10) unionsrc1 + select s2.key as key, s2.value as value from `s/c` s2 where s2.key < 10) unionsrc1 JOIN - (select 'tst1' as key, cast(count(1) as string) as value from src s3 + (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s3 UNION DISTINCT - select s4.key as key, s4.value as value from src s4 where s4.key < 10) unionsrc2 + select s4.key as key, s4.value as value from `s/c` s4 where s4.key < 10) unionsrc2 ON (unionsrc1.key = unionsrc2.key); -- union21.q @@ -305,11 +339,11 @@ ON (unionsrc1.key = unionsrc2.key); explain SELECT key, count(1) FROM ( - SELECT '1' as key from src + SELECT '1' as key from `s/c` UNION DISTINCT - SELECT reverse(key) as key from src + SELECT reverse(key) as key from `s/c` UNION DISTINCT - SELECT key as key from src + SELECT key as key from `s/c` UNION DISTINCT SELECT astring as key from src_thrift UNION DISTINCT @@ -319,11 +353,11 @@ GROUP BY key; SELECT key, count(1) FROM ( - SELECT '1' as key from src + SELECT '1' as key from `s/c` UNION DISTINCT - SELECT reverse(key) as key from src + SELECT reverse(key) as key from `s/c` UNION DISTINCT - SELECT key as key from src + SELECT key as key from `s/c` UNION DISTINCT SELECT astring as key from src_thrift UNION DISTINCT @@ -338,10 +372,10 @@ create table dst_union22(k1 string, k2 string, k3 string, k4 string) partitioned create table dst_union22_delta(k0 string, k1 string, k2 string, k3 string, k4 string, k5 string) partitioned by (ds string); insert overwrite table dst_union22 partition (ds='1') -select key, value, key , value from src; +select key, value, key , value from `s/c`; insert overwrite table dst_union22_delta partition (ds='1') -select key, key, value, key, value, value from src; +select key, key, value, key, value, value from `s/c`; set hive.merge.mapfiles=false; @@ -383,24 +417,24 @@ explain select s.key2, s.value2 from ( select transform(key, value) using 'cat' as (key2, value2) - from src + from `s/c` UNION DISTINCT - select key as key2, value as value2 from src) s + select key as key2, value as value2 from `s/c`) s order by s.key2, s.value2; select s.key2, s.value2 from ( select transform(key, value) using 'cat' as (key2, value2) - from src + from `s/c` UNION DISTINCT - select key as key2, value as value2 from src) s + select key as key2, value as value2 from `s/c`) s order by s.key2, s.value2; -- union24.q -- SORT_QUERY_RESULTS -create table src2 as select key, count(1) as count from src group by key; +create table src2 as select key, count(1) as count from `s/c` group by key; create table src3 as select * from src2; create table src4 as select * from src2; create table src5 as select * from src2; @@ -472,17 +506,17 @@ select s.key, s.count from ( ; -- union25.q -create table tmp_srcpart like srcpart; +create table tmp_srcpart like `s/cpart`; insert overwrite table tmp_srcpart partition (ds='2008-04-08', hr='11') -select key, value from srcpart where ds='2008-04-08' and hr='11'; +select key, value from `s/cpart` where ds='2008-04-08' and hr='11'; explain create table tmp_unionall as SELECT count(1) as counts, key, value FROM ( - SELECT key, value FROM srcpart a WHERE a.ds='2008-04-08' and a.hr='11' + SELECT key, value FROM `s/cpart` a WHERE a.ds='2008-04-08' and a.hr='11' UNION DISTINCT @@ -509,14 +543,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION DISTINCT select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -531,14 +565,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION DISTINCT select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -554,14 +588,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION DISTINCT select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -576,14 +610,14 @@ FROM SELECT a.key, a.value -FROM srcpart a JOIN srcpart b +FROM `s/cpart` a JOIN `s/cpart` b ON a.ds='2008-04-08' and a.hr='11' and b.ds='2008-04-08' and b.hr='12' AND a.key = b.key UNION DISTINCT select key, value -FROM srcpart LATERAL VIEW explode(array(1,2,3)) myTable AS myCol +FROM `s/cpart` LATERAL VIEW explode(array(1,2,3)) myTable AS myCol WHERE ds='2008-04-08' and hr='11' ) a group by key, value @@ -591,9 +625,9 @@ group by key, value -- union27.q -- SORT_BEFORE_DIFF -create table jackson_sev_same as select * from src; -create table dim_pho as select * from src; -create table jackson_sev_add as select * from src; +create table jackson_sev_same as select * from `s/c`; +create table dim_pho as select * from `s/c`; +create table jackson_sev_add as select * from `s/c`; explain select b.* from jackson_sev_same a join (select * from dim_pho UNION DISTINCT select * from jackson_sev_add)b on a.key=b.key and b.key=97; select b.* from jackson_sev_same a join (select * from dim_pho UNION DISTINCT select * from jackson_sev_add)b on a.key=b.key and b.key=97; -- union28.q @@ -603,26 +637,26 @@ create table union_subq_union(key int, value string); explain insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value UNION DISTINCT - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a ; insert overwrite table union_subq_union select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value UNION DISTINCT - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a ; @@ -635,26 +669,26 @@ create table union_subq_union29(key int, value string); explain insert overwrite table union_subq_union29 select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT - select key, value from src + select key, value from `s/c` ) subq ) a ; insert overwrite table union_subq_union29 select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT - select key, value from src + select key, value from `s/c` ) subq ) a ; @@ -668,16 +702,16 @@ explain SELECT * FROM ( SELECT 1 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION DISTINCT SELECT 2 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION DISTINCT SELECT 3 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 UNION DISTINCT SELECT 4 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 CLUSTER BY id ) a; @@ -689,16 +723,16 @@ insert overwrite table union_out SELECT * FROM ( SELECT 1 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION DISTINCT SELECT 2 AS id - FROM (SELECT * FROM src LIMIT 1) s1 + FROM (SELECT * FROM `s/c` LIMIT 1) s1 UNION DISTINCT SELECT 3 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 UNION DISTINCT SELECT 4 AS id - FROM (SELECT * FROM src LIMIT 1) s2 + FROM (SELECT * FROM `s/c` LIMIT 1) s2 CLUSTER BY id ) a; @@ -712,19 +746,19 @@ insert overwrite table union_subq_union30 select * from ( select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value UNION DISTINCT - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a UNION DISTINCT -select key, value from src +select key, value from `s/c` ) aa ; @@ -732,19 +766,19 @@ insert overwrite table union_subq_union30 select * from ( select * from ( - select key, value from src + select key, value from `s/c` UNION DISTINCT select key, value from ( - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value UNION DISTINCT - select key, value, count(1) from src group by key, value + select key, value, count(1) from `s/c` group by key, value ) subq ) a UNION DISTINCT -select key, value from src +select key, value from `s/c` ) aa ; @@ -757,8 +791,8 @@ drop table t1; drop table t2; -create table t1 as select * from src where key < 10; -create table t2 as select * from src where key < 10; +create table t1 as select * from `s/c` where key < 10; +create table t2 as select * from `s/c` where key < 10; create table t3(key string, cnt int); create table t4(value string, cnt int); @@ -819,8 +853,8 @@ select * from t6; drop table t1; drop table t2; -create table t1 as select * from src where key < 10; -create table t2 as select key, count(1) as cnt from src where key < 10 group by key; +create table t1 as select * from `s/c` where key < 10; +create table t2 as select key, count(1) as cnt from `s/c` where key < 10 group by key; create table t7(c1 string, cnt int); create table t8(c1 string, cnt int); @@ -861,8 +895,8 @@ drop table if exists t1; drop table if exists t2; -CREATE TABLE t1 AS SELECT * FROM src WHERE key < 10; -CREATE TABLE t2 AS SELECT * FROM src WHERE key < 10; +CREATE TABLE t1 AS SELECT * FROM `s/c` WHERE key < 10; +CREATE TABLE t2 AS SELECT * FROM `s/c` WHERE key < 10; -- Test simple union with double EXPLAIN @@ -945,19 +979,19 @@ CREATE TABLE test_src (key STRING, value STRING); EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key )a; INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key )a; @@ -965,19 +999,19 @@ SELECT COUNT(*) FROM test_src; EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key UNION DISTINCT - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 )a; INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, COUNT(*) AS value FROM `s/c` GROUP BY key UNION DISTINCT - SELECT key, value FROM src + SELECT key, value FROM `s/c` WHERE key = 0 )a; @@ -989,7 +1023,7 @@ create table src10_2 (key string, value string); create table src10_3 (key string, value string); create table src10_4 (key string, value string); -from (select * from src tablesample (10 rows)) a +from (select * from `s/c` tablesample (10 rows)) a insert overwrite table src10_1 select * insert overwrite table src10_2 select * insert overwrite table src10_3 select * @@ -1040,14 +1074,14 @@ create table tmptable(key string, value int); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2) unionsrc; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc; insert overwrite table tmptable -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from src s1 +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2) unionsrc; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc; select * from tmptable x sort by x.key; @@ -1059,13 +1093,13 @@ select * from tmptable x sort by x.key; -- union case: both subqueries are map-reduce jobs on same input, followed by reduce sink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2) unionsrc group by unionsrc.key; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc group by unionsrc.key; -select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from src s1 +select unionsrc.key, count(1) FROM (select 'tst1' as key, count(1) as value from `s/c` s1 UNION DISTINCT - select 'tst2' as key, count(1) as value from src s2) unionsrc group by unionsrc.key; + select 'tst2' as key, count(1) as value from `s/c` s2) unionsrc group by unionsrc.key; -- union6.q @@ -1078,12 +1112,12 @@ create table tmptable(key string, value string); explain insert overwrite table tmptable - select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2) unionsrc; insert overwrite table tmptable -select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +select unionsrc.key, unionsrc.value FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2) unionsrc; @@ -1098,11 +1132,11 @@ select * from tmptable x sort by x.key, x.value; -- union case: 1 subquery is a map-reduce job, different inputs for sub-queries, followed by reducesink explain - select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 + select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2) unionsrc group by unionsrc.key; -select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from src s1 +select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as string) as value from `s/c` s1 UNION DISTINCT select s2.key as key, s2.value as value from src1 s2) unionsrc group by unionsrc.key; @@ -1113,23 +1147,23 @@ select unionsrc.key, count(1) FROM (select 'tst1' as key, cast(count(1) as strin -- union case: all subqueries are a map-only jobs, 3 way union, same input for all sub-queries, followed by filesink explain - select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 UNION DISTINCT - select s3.key as key, s3.value as value from src s3) unionsrc; + select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2 UNION DISTINCT + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; -select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 UNION DISTINCT - select s3.key as key, s3.value as value from src s3) unionsrc; +select unionsrc.key, unionsrc.value FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2 UNION DISTINCT + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; -- union9.q -- SORT_BEFORE_DIFF -- union case: all subqueries are a map-only jobs, 3 way union, same input for all sub-queries, followed by reducesink explain - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 UNION DISTINCT - select s3.key as key, s3.value as value from src s3) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2 UNION DISTINCT + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; - select count(1) FROM (select s1.key as key, s1.value as value from src s1 UNION DISTINCT - select s2.key as key, s2.value as value from src s2 UNION DISTINCT - select s3.key as key, s3.value as value from src s3) unionsrc; + select count(1) FROM (select s1.key as key, s1.value as value from `s/c` s1 UNION DISTINCT + select s2.key as key, s2.value as value from `s/c` s2 UNION DISTINCT + select s3.key as key, s3.value as value from `s/c` s3) unionsrc; diff --git a/ql/src/test/queries/clientpositive/unionDistinct_2.q b/ql/src/test/queries/clientpositive/unionDistinct_2.q index 324bf68..03d77b0 100644 --- a/ql/src/test/queries/clientpositive/unionDistinct_2.q +++ b/ql/src/test/queries/clientpositive/unionDistinct_2.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -CREATE TABLE u1 as select key, value from src order by key limit 5; +CREATE TABLE u1 as select key, value from `s/c` order by key limit 5; -CREATE TABLE u2 as select key, value from src order by key limit 3; +CREATE TABLE u2 as select key, value from `s/c` order by key limit 3; -CREATE TABLE u3 as select key, value from src order by key desc limit 5; +CREATE TABLE u3 as select key, value from `s/c` order by key desc limit 5; select * from u1; diff --git a/ql/src/test/queries/clientpositive/union_date.q b/ql/src/test/queries/clientpositive/union_date.q index 02a5e1b..23a1bf4 100644 --- a/ql/src/test/queries/clientpositive/union_date.q +++ b/ql/src/test/queries/clientpositive/union_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS drop table union_date_1; diff --git a/ql/src/test/queries/clientpositive/union_date_trim.q b/ql/src/test/queries/clientpositive/union_date_trim.q index 6842e56..44adc1c 100644 --- a/ql/src/test/queries/clientpositive/union_date_trim.q +++ b/ql/src/test/queries/clientpositive/union_date_trim.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists testDate; create table testDate(id int, dt date); -insert into table testDate select 1, '2014-04-07' from src where key=100 limit 1; -insert into table testDate select 2, '2014-04-08' from src where key=100 limit 1; -insert into table testDate select 3, '2014-04-09' from src where key=100 limit 1; +insert into table testDate select 1, '2014-04-07' from `s/c` where key=100 limit 1; +insert into table testDate select 2, '2014-04-08' from `s/c` where key=100 limit 1; +insert into table testDate select 3, '2014-04-09' from `s/c` where key=100 limit 1; --- without the fix following query will throw HiveException: Incompatible types for union operator insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, trim(Cast (dt as string)) as tm from testDate where id = 3 ) a; diff --git a/ql/src/test/queries/clientpositive/union_lateralview.q b/ql/src/test/queries/clientpositive/union_lateralview.q index 012296d..f90fdad 100644 --- a/ql/src/test/queries/clientpositive/union_lateralview.q +++ b/ql/src/test/queries/clientpositive/union_lateralview.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table test_union_lateral_view(key int, arr_ele int, value string); @@ -8,16 +42,16 @@ FROM ( SELECT c.arr_ele as arr_ele, a.key as key, a.value as value FROM ( SELECT key, value, array(1,2,3) as arr - FROM src + FROM `s/c` UNION ALL SELECT key, value, array(1,2,3) as arr - FROM srcpart + FROM `s/cpart` WHERE ds = '2008-04-08' and hr='12' ) a LATERAL VIEW EXPLODE(arr) c AS arr_ele ) d -LEFT OUTER JOIN src b +LEFT OUTER JOIN `s/c` b ON d.key = b.key ; @@ -27,16 +61,16 @@ FROM ( SELECT c.arr_ele as arr_ele, a.key as key, a.value as value FROM ( SELECT key, value, array(1,2,3) as arr - FROM src + FROM `s/c` UNION ALL SELECT key, value, array(1,2,3) as arr - FROM srcpart + FROM `s/cpart` WHERE ds = '2008-04-08' and hr='12' ) a LATERAL VIEW EXPLODE(arr) c AS arr_ele ) d -LEFT OUTER JOIN src b +LEFT OUTER JOIN `s/c` b ON d.key = b.key ; diff --git a/ql/src/test/queries/clientpositive/union_null.q b/ql/src/test/queries/clientpositive/union_null.q index a17325c..87c17dd 100644 --- a/ql/src/test/queries/clientpositive/union_null.q +++ b/ql/src/test/queries/clientpositive/union_null.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_BEFORE_DIFF -- HIVE-2901 -select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a; +select x from (select * from (select value as x from `s/c` order by x limit 5)a union all select * from (select NULL as x from `s/c` limit 5)b )a; -- HIVE-4837 select * from (select * from (select null as N from src1 group by key)a UNION ALL select * from (select null as N from src1 group by key)b ) a; diff --git a/ql/src/test/queries/clientpositive/union_ppr.q b/ql/src/test/queries/clientpositive/union_ppr.q index 013e147..58a1be9 100644 --- a/ql/src/test/queries/clientpositive/union_ppr.q +++ b/ql/src/test/queries/clientpositive/union_ppr.q @@ -1,18 +1,52 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS EXPLAIN EXTENDED SELECT * FROM ( - SELECT X.* FROM SRCPART X WHERE X.key < 100 + SELECT X.* FROM `s/cpart` X WHERE X.key < 100 UNION ALL - SELECT Y.* FROM SRCPART Y WHERE Y.key < 100 + SELECT Y.* FROM `s/cpart` Y WHERE Y.key < 100 ) A WHERE A.ds = '2008-04-08' SORT BY A.key, A.value, A.ds, A.hr; SELECT * FROM ( - SELECT X.* FROM SRCPART X WHERE X.key < 100 + SELECT X.* FROM `s/cpart` X WHERE X.key < 100 UNION ALL - SELECT Y.* FROM SRCPART Y WHERE Y.key < 100 + SELECT Y.* FROM `s/cpart` Y WHERE Y.key < 100 ) A WHERE A.ds = '2008-04-08' SORT BY A.key, A.value, A.ds, A.hr; diff --git a/ql/src/test/queries/clientpositive/union_remove_1.q b/ql/src/test/queries/clientpositive/union_remove_1.q index b5d829c..1c6c9a0 100644 --- a/ql/src/test/queries/clientpositive/union_remove_1.q +++ b/ql/src/test/queries/clientpositive/union_remove_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_10.q b/ql/src/test/queries/clientpositive/union_remove_10.q index c79d160..f8dfee2 100644 --- a/ql/src/test/queries/clientpositive/union_remove_10.q +++ b/ql/src/test/queries/clientpositive/union_remove_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_11.q b/ql/src/test/queries/clientpositive/union_remove_11.q index 4ebcc02..5d24a15 100644 --- a/ql/src/test/queries/clientpositive/union_remove_11.q +++ b/ql/src/test/queries/clientpositive/union_remove_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_12.q b/ql/src/test/queries/clientpositive/union_remove_12.q index 6dbf3a6..2d6acea 100644 --- a/ql/src/test/queries/clientpositive/union_remove_12.q +++ b/ql/src/test/queries/clientpositive/union_remove_12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_13.q b/ql/src/test/queries/clientpositive/union_remove_13.q index 6b01bc8..d4bc409c3 100644 --- a/ql/src/test/queries/clientpositive/union_remove_13.q +++ b/ql/src/test/queries/clientpositive/union_remove_13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_14.q b/ql/src/test/queries/clientpositive/union_remove_14.q index b4535c6..b9bdc8f 100644 --- a/ql/src/test/queries/clientpositive/union_remove_14.q +++ b/ql/src/test/queries/clientpositive/union_remove_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_15.q b/ql/src/test/queries/clientpositive/union_remove_15.q index e3def4c..28f236b 100644 --- a/ql/src/test/queries/clientpositive/union_remove_15.q +++ b/ql/src/test/queries/clientpositive/union_remove_15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_16.q b/ql/src/test/queries/clientpositive/union_remove_16.q index cfd901f..7ba20b6 100644 --- a/ql/src/test/queries/clientpositive/union_remove_16.q +++ b/ql/src/test/queries/clientpositive/union_remove_16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_17.q b/ql/src/test/queries/clientpositive/union_remove_17.q index 817ad50..6203264 100644 --- a/ql/src/test/queries/clientpositive/union_remove_17.q +++ b/ql/src/test/queries/clientpositive/union_remove_17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_18.q b/ql/src/test/queries/clientpositive/union_remove_18.q index e2ba33e..0fab539 100644 --- a/ql/src/test/queries/clientpositive/union_remove_18.q +++ b/ql/src/test/queries/clientpositive/union_remove_18.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_19.q b/ql/src/test/queries/clientpositive/union_remove_19.q index d3c17e1..5186d31 100644 --- a/ql/src/test/queries/clientpositive/union_remove_19.q +++ b/ql/src/test/queries/clientpositive/union_remove_19.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_2.q b/ql/src/test/queries/clientpositive/union_remove_2.q index 0982a62..37b3970 100644 --- a/ql/src/test/queries/clientpositive/union_remove_2.q +++ b/ql/src/test/queries/clientpositive/union_remove_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_20.q b/ql/src/test/queries/clientpositive/union_remove_20.q index a782feb..1eeb33d 100644 --- a/ql/src/test/queries/clientpositive/union_remove_20.q +++ b/ql/src/test/queries/clientpositive/union_remove_20.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_21.q b/ql/src/test/queries/clientpositive/union_remove_21.q index 09c537c..d02e61b 100644 --- a/ql/src/test/queries/clientpositive/union_remove_21.q +++ b/ql/src/test/queries/clientpositive/union_remove_21.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_22.q b/ql/src/test/queries/clientpositive/union_remove_22.q index d2c22e0..c7391d5 100644 --- a/ql/src/test/queries/clientpositive/union_remove_22.q +++ b/ql/src/test/queries/clientpositive/union_remove_22.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_23.q b/ql/src/test/queries/clientpositive/union_remove_23.q index d3c4b73..40b343e 100644 --- a/ql/src/test/queries/clientpositive/union_remove_23.q +++ b/ql/src/test/queries/clientpositive/union_remove_23.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_24.q b/ql/src/test/queries/clientpositive/union_remove_24.q index 10cec54..6ca0b15 100644 --- a/ql/src/test/queries/clientpositive/union_remove_24.q +++ b/ql/src/test/queries/clientpositive/union_remove_24.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_25.q b/ql/src/test/queries/clientpositive/union_remove_25.q index be50c0f..ab76b2b 100644 --- a/ql/src/test/queries/clientpositive/union_remove_25.q +++ b/ql/src/test/queries/clientpositive/union_remove_25.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; @@ -51,17 +85,17 @@ explain insert overwrite table outputTbl2 partition(ds) SELECT * FROM ( - select * from (SELECT key, value, ds from srcpart where ds='2008-04-08' limit 500)a + select * from (SELECT key, value, ds from `s/cpart` where ds='2008-04-08' limit 500)a UNION ALL - select * from (SELECT key, value, ds from srcpart where ds='2008-04-08' limit 500)b + select * from (SELECT key, value, ds from `s/cpart` where ds='2008-04-08' limit 500)b ) a; insert overwrite table outputTbl2 partition(ds) SELECT * FROM ( - select * from (SELECT key, value, ds from srcpart where ds='2008-04-08' limit 500)a + select * from (SELECT key, value, ds from `s/cpart` where ds='2008-04-08' limit 500)a UNION ALL - select * from (SELECT key, value, ds from srcpart where ds='2008-04-08' limit 500)b + select * from (SELECT key, value, ds from `s/cpart` where ds='2008-04-08' limit 500)b ) a; show partitions outputTbl2; @@ -70,17 +104,17 @@ desc formatted outputTbl2 partition(ds='2008-04-08'); explain insert overwrite table outputTbl3 partition(ds, hr) SELECT * FROM ( - select * from (SELECT key, value, ds, hr from srcpart where ds='2008-04-08' limit 1000)a + select * from (SELECT key, value, ds, hr from `s/cpart` where ds='2008-04-08' limit 1000)a UNION ALL - select * from (SELECT key, value, ds, hr from srcpart where ds='2008-04-08' limit 1000)b + select * from (SELECT key, value, ds, hr from `s/cpart` where ds='2008-04-08' limit 1000)b ) a; insert overwrite table outputTbl3 partition(ds, hr) SELECT * FROM ( - select * from (SELECT key, value, ds, hr from srcpart where ds='2008-04-08' limit 1000)a + select * from (SELECT key, value, ds, hr from `s/cpart` where ds='2008-04-08' limit 1000)a UNION ALL - select * from (SELECT key, value, ds, hr from srcpart where ds='2008-04-08' limit 1000)b + select * from (SELECT key, value, ds, hr from `s/cpart` where ds='2008-04-08' limit 1000)b ) a; show partitions outputTbl3; diff --git a/ql/src/test/queries/clientpositive/union_remove_3.q b/ql/src/test/queries/clientpositive/union_remove_3.q index 0e491eb..51bd304 100644 --- a/ql/src/test/queries/clientpositive/union_remove_3.q +++ b/ql/src/test/queries/clientpositive/union_remove_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_4.q b/ql/src/test/queries/clientpositive/union_remove_4.q index b8b72e7..10d5197 100644 --- a/ql/src/test/queries/clientpositive/union_remove_4.q +++ b/ql/src/test/queries/clientpositive/union_remove_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_5.q b/ql/src/test/queries/clientpositive/union_remove_5.q index 4845c8c..fb422a0 100644 --- a/ql/src/test/queries/clientpositive/union_remove_5.q +++ b/ql/src/test/queries/clientpositive/union_remove_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_6.q b/ql/src/test/queries/clientpositive/union_remove_6.q index 8208fe2..25fed36 100644 --- a/ql/src/test/queries/clientpositive/union_remove_6.q +++ b/ql/src/test/queries/clientpositive/union_remove_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_6_subq.q b/ql/src/test/queries/clientpositive/union_remove_6_subq.q index b0c0539..53295a1 100644 --- a/ql/src/test/queries/clientpositive/union_remove_6_subq.q +++ b/ql/src/test/queries/clientpositive/union_remove_6_subq.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; @@ -49,29 +83,29 @@ select * from outputTbl2 order by key, `values`; -- The following queries guarantee the correctness. explain select avg(c) from( - SELECT count(1)-200 as c from src + SELECT count(1)-200 as c from `s/c` UNION ALL - SELECT count(1) as c from src + SELECT count(1) as c from `s/c` )subq; select avg(c) from( - SELECT count(1)-200 as c from src + SELECT count(1)-200 as c from `s/c` UNION ALL - SELECT count(1) as c from src + SELECT count(1) as c from `s/c` )subq; explain select key, avg(c) over w from( - SELECT key, count(1)*2 as c from src group by key + SELECT key, count(1)*2 as c from `s/c` group by key UNION ALL - SELECT key, count(1) as c from src group by key + SELECT key, count(1) as c from `s/c` group by key )subq group by key, c WINDOW w AS (PARTITION BY key ORDER BY c ROWS UNBOUNDED PRECEDING); select key, avg(c) over w from( - SELECT key, count(1)*2 as c from src group by key + SELECT key, count(1)*2 as c from `s/c` group by key UNION ALL - SELECT key, count(1) as c from src group by key + SELECT key, count(1) as c from `s/c` group by key )subq group by key, c WINDOW w AS (PARTITION BY key ORDER BY c ROWS UNBOUNDED PRECEDING); diff --git a/ql/src/test/queries/clientpositive/union_remove_7.q b/ql/src/test/queries/clientpositive/union_remove_7.q index a915226..23ae7be 100644 --- a/ql/src/test/queries/clientpositive/union_remove_7.q +++ b/ql/src/test/queries/clientpositive/union_remove_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_8.q b/ql/src/test/queries/clientpositive/union_remove_8.q index 462c3fd..c149210 100644 --- a/ql/src/test/queries/clientpositive/union_remove_8.q +++ b/ql/src/test/queries/clientpositive/union_remove_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_remove_9.q b/ql/src/test/queries/clientpositive/union_remove_9.q index a2674c8..08e0755 100644 --- a/ql/src/test/queries/clientpositive/union_remove_9.q +++ b/ql/src/test/queries/clientpositive/union_remove_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.autogather=false; set hive.optimize.union.remove=true; set hive.mapred.supports.subdirectories=true; diff --git a/ql/src/test/queries/clientpositive/union_script.q b/ql/src/test/queries/clientpositive/union_script.q index df35859..95b2fb3 100644 --- a/ql/src/test/queries/clientpositive/union_script.q +++ b/ql/src/test/queries/clientpositive/union_script.q @@ -1,7 +1,41 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + select * from ( - select transform(key) using 'cat' as cola from src)s order by cola; + select transform(key) using 'cat' as cola from `s/c`)s order by cola; select * from ( - select transform(key) using 'cat' as cola from src + select transform(key) using 'cat' as cola from `s/c` union all - select transform(key) using 'cat' as cola from src) s order by cola; + select transform(key) using 'cat' as cola from `s/c`) s order by cola; diff --git a/ql/src/test/queries/clientpositive/union_top_level.q b/ql/src/test/queries/clientpositive/union_top_level.q index 1101a45..fcae612 100644 --- a/ql/src/test/queries/clientpositive/union_top_level.q +++ b/ql/src/test/queries/clientpositive/union_top_level.q @@ -1,43 +1,77 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- SORT_QUERY_RESULTS -- top level explain -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; explain -select * from (select s1.key as k, s2.value as v from src s1 join src s2 on (s1.key = s2.key) limit 10)a +select * from (select s1.key as k, s2.value as v from `s/c` s1 join `s/c` s2 on (s1.key = s2.key) limit 10)a union all -select * from (select s1.key as k, s2.value as v from src s1 join src s2 on (s1.key = s2.key) limit 10)b; +select * from (select s1.key as k, s2.value as v from `s/c` s1 join `s/c` s2 on (s1.key = s2.key) limit 10)b; -select * from (select s1.key as k, s2.value as v from src s1 join src s2 on (s1.key = s2.key) limit 10)a +select * from (select s1.key as k, s2.value as v from `s/c` s1 join `s/c` s2 on (s1.key = s2.key) limit 10)a union all -select * from (select s1.key as k, s2.value as v from src s1 join src s2 on (s1.key = s2.key) limit 10)b; +select * from (select s1.key as k, s2.value as v from `s/c` s1 join `s/c` s2 on (s1.key = s2.key) limit 10)b; -- ctas explain create table union_top as -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; create table union_top as -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; select * from union_top; @@ -46,53 +80,53 @@ truncate table union_top; -- insert into explain insert into table union_top -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; insert into table union_top -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; select * from union_top; explain insert overwrite table union_top -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; insert overwrite table union_top -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; select * from union_top; -- create view explain create view union_top_view as -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; create view union_top_view as -select * from (select key, 0 as value from src where key % 3 == 0 limit 3)a +select * from (select key, 0 as value from `s/c` where key % 3 == 0 limit 3)a union all -select * from (select key, 1 as value from src where key % 3 == 1 limit 3)b +select * from (select key, 1 as value from `s/c` where key % 3 == 1 limit 3)b union all -select * from (select key, 2 as value from src where key % 3 == 2 limit 3)c; +select * from (select key, 2 as value from `s/c` where key % 3 == 2 limit 3)c; select * from union_top_view; diff --git a/ql/src/test/queries/clientpositive/union_view.q b/ql/src/test/queries/clientpositive/union_view.q index b727199..300dbe9 100644 --- a/ql/src/test/queries/clientpositive/union_view.q +++ b/ql/src/test/queries/clientpositive/union_view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.stats.dbclass=fs; CREATE TABLE src_union_1 (key int, value string) PARTITIONED BY (ds string); CREATE INDEX src_union_1_key_idx ON TABLE src_union_1(key) AS 'COMPACT' WITH DEFERRED REBUILD; @@ -19,16 +53,16 @@ SET hive.semantic.analyzer.hook=; SET hive.merge.mapfiles=false; SET hive.merge.mapredfiles=false; -INSERT OVERWRITE TABLE src_union_1 PARTITION (ds='1') SELECT * FROM src; +INSERT OVERWRITE TABLE src_union_1 PARTITION (ds='1') SELECT * FROM `s/c`; ALTER INDEX src_union_1_key_idx ON src_union_1 PARTITION (ds='1') REBUILD; -INSERT OVERWRITE TABLE src_union_2 PARTITION (ds='2', part_1='1') SELECT * FROM src; -INSERT OVERWRITE TABLE src_union_2 PARTITION (ds='2', part_1='2') SELECT * FROM src; +INSERT OVERWRITE TABLE src_union_2 PARTITION (ds='2', part_1='1') SELECT * FROM `s/c`; +INSERT OVERWRITE TABLE src_union_2 PARTITION (ds='2', part_1='2') SELECT * FROM `s/c`; ALTER INDEX src_union_2_key_idx ON src_union_2 PARTITION (ds='2', part_1='1') REBUILD; ALTER INDEX src_union_2_key_idx ON src_union_2 PARTITION (ds='2', part_1='2') REBUILD; -INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='3', part_1='1', part_2='2:3+4') SELECT * FROM src; -INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='3', part_1='2', part_2='2:3+4') SELECT * FROM src; +INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='3', part_1='1', part_2='2:3+4') SELECT * FROM `s/c`; +INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='3', part_1='2', part_2='2:3+4') SELECT * FROM `s/c`; ALTER INDEX src_union_3_key_idx ON src_union_3 PARTITION (ds='3', part_1='1', part_2='2:3+4') REBUILD; ALTER INDEX src_union_3_key_idx ON src_union_3 PARTITION (ds='3', part_1='2', part_2='2:3+4') REBUILD; @@ -75,7 +109,7 @@ SELECT count(1) from src_union_view WHERE ds ='1'; SELECT count(1) from src_union_view WHERE ds ='2'; SELECT count(1) from src_union_view WHERE ds ='3'; -INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='4', part_1='1', part_2='2:3+4') SELECT * FROM src; +INSERT OVERWRITE TABLE src_union_3 PARTITION (ds='4', part_1='1', part_2='2:3+4') SELECT * FROM `s/c`; ALTER INDEX src_union_3_key_idx ON src_union_3 PARTITION (ds='4', part_1='1', part_2='2:3+4') REBUILD; EXPLAIN SELECT key, value, ds FROM src_union_view WHERE key=86 AND ds ='4'; diff --git a/ql/src/test/queries/clientpositive/unionall_unbalancedppd.q b/ql/src/test/queries/clientpositive/unionall_unbalancedppd.q index 360ad11..4683e43 100644 --- a/ql/src/test/queries/clientpositive/unionall_unbalancedppd.q +++ b/ql/src/test/queries/clientpositive/unionall_unbalancedppd.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.optimize.ppd=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/uniquejoin.q b/ql/src/test/queries/clientpositive/uniquejoin.q index 5b9e94d..3cd4954 100644 --- a/ql/src/test/queries/clientpositive/uniquejoin.q +++ b/ql/src/test/queries/clientpositive/uniquejoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE TABLE T1(key STRING, val STRING) STORED AS TEXTFILE; CREATE TABLE T2(key STRING, val STRING) STORED AS TEXTFILE; CREATE TABLE T3(key STRING, val STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/queries/clientpositive/unset_table_view_property.q b/ql/src/test/queries/clientpositive/unset_table_view_property.q index 4545230..e018fc4 100644 --- a/ql/src/test/queries/clientpositive/unset_table_view_property.q +++ b/ql/src/test/queries/clientpositive/unset_table_view_property.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE vt; CREATE TABLE vt.testTable(col1 INT, col2 INT); @@ -36,7 +70,7 @@ SHOW TBLPROPERTIES vt.testTable; DROP TABLE vt.testTable; -- UNSET VIEW PROPERTIES -CREATE VIEW vt.testView AS SELECT value FROM src WHERE key=86; +CREATE VIEW vt.testView AS SELECT value FROM `s/c` WHERE key=86; ALTER VIEW vt.testView SET TBLPROPERTIES ('propA'='100', 'propB'='200'); SHOW TBLPROPERTIES vt.testView; diff --git a/ql/src/test/queries/clientpositive/updateAccessTime.q b/ql/src/test/queries/clientpositive/updateAccessTime.q index 908b6ec..4c75429 100644 --- a/ql/src/test/queries/clientpositive/updateAccessTime.q +++ b/ql/src/test/queries/clientpositive/updateAccessTime.q @@ -1,21 +1,55 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table tstsrc; set hive.exec.pre.hooks = org.apache.hadoop.hive.ql.hooks.PreExecutePrinter,org.apache.hadoop.hive.ql.hooks.EnforceReadOnlyTables,org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec; -create table tstsrc as select * from src; +create table tstsrc as select * from `s/c`; desc extended tstsrc; select count(1) from tstsrc; desc extended tstsrc; drop table tstsrc; drop table tstsrcpart; -create table tstsrcpart like srcpart; +create table tstsrcpart like `s/cpart`; set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.dynamic.partition=true; -insert overwrite table tstsrcpart partition (ds, hr) select key, value, ds, hr from srcpart; +insert overwrite table tstsrcpart partition (ds, hr) select key, value, ds, hr from `s/cpart`; desc extended tstsrcpart; desc extended tstsrcpart partition (ds='2008-04-08', hr='11'); diff --git a/ql/src/test/queries/clientpositive/update_after_multiple_inserts.q b/ql/src/test/queries/clientpositive/update_after_multiple_inserts.q index eb8e5a1..0e9d6a5 100644 --- a/ql/src/test/queries/clientpositive/update_after_multiple_inserts.q +++ b/ql/src/test/queries/clientpositive/update_after_multiple_inserts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.exec.dynamic.partition.mode=nonstrict; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; diff --git a/ql/src/test/queries/clientpositive/update_all_non_partitioned.q b/ql/src/test/queries/clientpositive/update_all_non_partitioned.q index 3c01825..876a52b 100644 --- a/ql/src/test/queries/clientpositive/update_all_non_partitioned.q +++ b/ql/src/test/queries/clientpositive/update_all_non_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_all_partitioned.q b/ql/src/test/queries/clientpositive/update_all_partitioned.q index e191d0a..8db8938 100644 --- a/ql/src/test/queries/clientpositive/update_all_partitioned.q +++ b/ql/src/test/queries/clientpositive/update_all_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_all_types.q b/ql/src/test/queries/clientpositive/update_all_types.q index 262a304..f4b0e3e 100644 --- a/ql/src/test/queries/clientpositive/update_all_types.q +++ b/ql/src/test/queries/clientpositive/update_all_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_orig_table.q b/ql/src/test/queries/clientpositive/update_orig_table.q index 416c841..8f0f6c7 100644 --- a/ql/src/test/queries/clientpositive/update_orig_table.q +++ b/ql/src/test/queries/clientpositive/update_orig_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_tmp_table.q b/ql/src/test/queries/clientpositive/update_tmp_table.q index a896ac7..c8a9713 100644 --- a/ql/src/test/queries/clientpositive/update_tmp_table.q +++ b/ql/src/test/queries/clientpositive/update_tmp_table.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_two_cols.q b/ql/src/test/queries/clientpositive/update_two_cols.q index b1972e5..6f3b8bc 100644 --- a/ql/src/test/queries/clientpositive/update_two_cols.q +++ b/ql/src/test/queries/clientpositive/update_two_cols.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_where_no_match.q b/ql/src/test/queries/clientpositive/update_where_no_match.q index d578862..8c7ab95 100644 --- a/ql/src/test/queries/clientpositive/update_where_no_match.q +++ b/ql/src/test/queries/clientpositive/update_where_no_match.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_where_non_partitioned.q b/ql/src/test/queries/clientpositive/update_where_non_partitioned.q index 06c688f..91ea944 100644 --- a/ql/src/test/queries/clientpositive/update_where_non_partitioned.q +++ b/ql/src/test/queries/clientpositive/update_where_non_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/update_where_partitioned.q b/ql/src/test/queries/clientpositive/update_where_partitioned.q index 157712f..b7f2e8f 100644 --- a/ql/src/test/queries/clientpositive/update_where_partitioned.q +++ b/ql/src/test/queries/clientpositive/update_where_partitioned.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.enforce.bucketing=true; diff --git a/ql/src/test/queries/clientpositive/varchar_1.q b/ql/src/test/queries/clientpositive/varchar_1.q index bed61f3..39edcf0 100644 --- a/ql/src/test/queries/clientpositive/varchar_1.q +++ b/ql/src/test/queries/clientpositive/varchar_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar1; drop table varchar1_1; @@ -10,12 +44,12 @@ select * from varchar1 order by key, value limit 2; -- insert overwrite, from same/different length varchar insert overwrite table varchar1 - select cast(key as varchar(10)), cast(value as varchar(15)) from src order by key, value limit 2; + select cast(key as varchar(10)), cast(value as varchar(15)) from `s/c` order by key, value limit 2; select key, value from varchar1 order by key, value; -- insert overwrite, from string insert overwrite table varchar1 - select key, value from src order by key, value limit 2; + select key, value from `s/c` order by key, value limit 2; select key, value from varchar1 order by key, value; -- insert string from varchar @@ -25,7 +59,7 @@ select key, value from varchar1_1 order by key, value; -- respect string length insert overwrite table varchar1 - select key, cast(value as varchar(3)) from src order by key, value limit 2; + select key, cast(value as varchar(3)) from `s/c` order by key, value limit 2; select key, value from varchar1 order by key, value; drop table varchar1; diff --git a/ql/src/test/queries/clientpositive/varchar_2.q b/ql/src/test/queries/clientpositive/varchar_2.q index 1eb3b85..7f1cfdb 100644 --- a/ql/src/test/queries/clientpositive/varchar_2.q +++ b/ql/src/test/queries/clientpositive/varchar_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar_2; create table varchar_2 ( @@ -5,15 +39,15 @@ create table varchar_2 ( value varchar(20) ); -insert overwrite table varchar_2 select * from src; +insert overwrite table varchar_2 select * from `s/c`; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value asc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from varchar_2 group by value @@ -21,12 +55,12 @@ order by value asc limit 5; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value desc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from varchar_2 group by value diff --git a/ql/src/test/queries/clientpositive/varchar_cast.q b/ql/src/test/queries/clientpositive/varchar_cast.q index c356b1d..04283a6 100644 --- a/ql/src/test/queries/clientpositive/varchar_cast.q +++ b/ql/src/test/queries/clientpositive/varchar_cast.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Cast from varchar to other data types @@ -9,7 +43,7 @@ select cast(cast('11.00' as string) as float), cast(cast('11.00' as string) as double), cast(cast('11.00' as string) as decimal) -from src limit 1; +from `s/c` limit 1; select cast(cast('11' as varchar(10)) as tinyint), @@ -19,28 +53,28 @@ select cast(cast('11.00' as varchar(10)) as float), cast(cast('11.00' as varchar(10)) as double), cast(cast('11.00' as varchar(10)) as decimal) -from src limit 1; +from `s/c` limit 1; select cast(cast('2011-01-01' as string) as date), cast(cast('2011-01-01 01:02:03' as string) as timestamp) -from src limit 1; +from `s/c` limit 1; select cast(cast('2011-01-01' as varchar(10)) as date), cast(cast('2011-01-01 01:02:03' as varchar(30)) as timestamp) -from src limit 1; +from `s/c` limit 1; -- no tests from string/varchar to boolean, that conversion doesn't look useful select cast(cast('abc123' as string) as string), cast(cast('abc123' as string) as varchar(10)) -from src limit 1; +from `s/c` limit 1; select cast(cast('abc123' as varchar(10)) as string), cast(cast('abc123' as varchar(10)) as varchar(10)) -from src limit 1; +from `s/c` limit 1; -- cast from other types to varchar select @@ -51,7 +85,7 @@ select cast(cast(11.00 as float) as string), cast(cast(11.00 as double) as string), cast(cast(11.00 as decimal) as string) -from src limit 1; +from `s/c` limit 1; select cast(cast(11 as tinyint) as varchar(10)), @@ -61,25 +95,25 @@ select cast(cast(11.00 as float) as varchar(10)), cast(cast(11.00 as double) as varchar(10)), cast(cast(11.00 as decimal) as varchar(10)) -from src limit 1; +from `s/c` limit 1; select cast(date '2011-01-01' as string), cast(timestamp('2011-01-01 01:02:03') as string) -from src limit 1; +from `s/c` limit 1; select cast(date '2011-01-01' as varchar(10)), cast(timestamp('2011-01-01 01:02:03') as varchar(30)) -from src limit 1; +from `s/c` limit 1; select cast(true as string), cast(false as string) -from src limit 1; +from `s/c` limit 1; select cast(true as varchar(10)), cast(false as varchar(10)) -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/varchar_comparison.q b/ql/src/test/queries/clientpositive/varchar_comparison.q index 05cad85..1e8d710 100644 --- a/ql/src/test/queries/clientpositive/varchar_comparison.q +++ b/ql/src/test/queries/clientpositive/varchar_comparison.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=more; -- Should all be true @@ -8,7 +42,7 @@ select cast('abc' as varchar(10)) < cast('abd' as varchar(10)), cast('abc' as varchar(10)) > cast('abb' as varchar(10)), cast('abc' as varchar(10)) <> cast('abb' as varchar(10)) -from src limit 1; +from `s/c` limit 1; -- Different varchar lengths should still compare the same select @@ -18,7 +52,7 @@ select cast('abc' as varchar(10)) < cast('abd' as varchar(3)), cast('abc' as varchar(10)) > cast('abb' as varchar(3)), cast('abc' as varchar(10)) <> cast('abb' as varchar(3)) -from src limit 1; +from `s/c` limit 1; -- Should work with string types as well select @@ -28,14 +62,14 @@ select cast('abc' as varchar(10)) < 'abd', cast('abc' as varchar(10)) > 'abb', cast('abc' as varchar(10)) <> 'abb' -from src limit 1; +from `s/c` limit 1; -- leading space is significant for varchar select cast(' abc' as varchar(10)) <> cast('abc' as varchar(10)) -from src limit 1; +from `s/c` limit 1; -- trailing space is significant for varchar select cast('abc ' as varchar(10)) <> cast('abc' as varchar(10)) -from src limit 1; +from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/varchar_join1.q b/ql/src/test/queries/clientpositive/varchar_join1.q index 9422687..9c769a3 100644 --- a/ql/src/test/queries/clientpositive/varchar_join1.q +++ b/ql/src/test/queries/clientpositive/varchar_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar_join1_vc1; drop table varchar_join1_vc2; drop table varchar_join1_str; diff --git a/ql/src/test/queries/clientpositive/varchar_nested_types.q b/ql/src/test/queries/clientpositive/varchar_nested_types.q index 5c0989f..3f1eafa 100644 --- a/ql/src/test/queries/clientpositive/varchar_nested_types.q +++ b/ql/src/test/queries/clientpositive/varchar_nested_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar_nested_1; drop table varchar_nested_array; drop table varchar_nested_map; @@ -7,7 +41,7 @@ drop table varchar_nested_view; create table varchar_nested_1 (key int, value varchar(20)); insert overwrite table varchar_nested_1 - select key, value from src order by key limit 1; + select key, value from `s/c` order by key limit 1; -- arrays create table varchar_nested_array (c1 array); diff --git a/ql/src/test/queries/clientpositive/varchar_serde.q b/ql/src/test/queries/clientpositive/varchar_serde.q index ea2a022..19d58d9 100644 --- a/ql/src/test/queries/clientpositive/varchar_serde.q +++ b/ql/src/test/queries/clientpositive/varchar_serde.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table if exists varchar_serde_regex; drop table if exists varchar_serde_lb; drop table if exists varchar_serde_ls; diff --git a/ql/src/test/queries/clientpositive/varchar_udf1.q b/ql/src/test/queries/clientpositive/varchar_udf1.q index ff40b31..bab548f 100644 --- a/ql/src/test/queries/clientpositive/varchar_udf1.q +++ b/ql/src/test/queries/clientpositive/varchar_udf1.q @@ -1,8 +1,42 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar_udf_1; create table varchar_udf_1 (c1 string, c2 string, c3 varchar(10), c4 varchar(20)); insert overwrite table varchar_udf_1 - select key, value, key, value from src where key = '238' limit 1; + select key, value, key, value from `s/c` where key = '238' limit 1; -- JAVA_VERSION_SPECIFIC_OUTPUT diff --git a/ql/src/test/queries/clientpositive/varchar_union1.q b/ql/src/test/queries/clientpositive/varchar_union1.q index dd3cffe..fad53d0 100644 --- a/ql/src/test/queries/clientpositive/varchar_union1.q +++ b/ql/src/test/queries/clientpositive/varchar_union1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table varchar_union1_vc1; drop table varchar_union1_vc2; drop table varchar_union1_str; diff --git a/ql/src/test/queries/clientpositive/vector_acid3.q b/ql/src/test/queries/clientpositive/vector_acid3.q index d4313f4..197c070 100644 --- a/ql/src/test/queries/clientpositive/vector_acid3.q +++ b/ql/src/test/queries/clientpositive/vector_acid3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; set hive.exec.dynamic.partition.mode=nonstrict; diff --git a/ql/src/test/queries/clientpositive/vector_aggregate_9.q b/ql/src/test/queries/clientpositive/vector_aggregate_9.q index ce6f0ff..ce54ad4 100644 --- a/ql/src/test/queries/clientpositive/vector_aggregate_9.q +++ b/ql/src/test/queries/clientpositive/vector_aggregate_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_aggregate_without_gby.q b/ql/src/test/queries/clientpositive/vector_aggregate_without_gby.q index 9a026ed..df1c1c7 100644 --- a/ql/src/test/queries/clientpositive/vector_aggregate_without_gby.q +++ b/ql/src/test/queries/clientpositive/vector_aggregate_without_gby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table testvec(id int, dt int, greg_dt string) stored as orc; insert into table testvec values diff --git a/ql/src/test/queries/clientpositive/vector_between_in.q b/ql/src/test/queries/clientpositive/vector_between_in.q index 28df728..141b9a9 100644 --- a/ql/src/test/queries/clientpositive/vector_between_in.q +++ b/ql/src/test/queries/clientpositive/vector_between_in.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_binary_join_groupby.q b/ql/src/test/queries/clientpositive/vector_binary_join_groupby.q index fd9bf6f..48ceee6 100644 --- a/ql/src/test/queries/clientpositive/vector_binary_join_groupby.q +++ b/ql/src/test/queries/clientpositive/vector_binary_join_groupby.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.auto.convert.join=true; SET hive.auto.convert.join.noconditionaltask=true; diff --git a/ql/src/test/queries/clientpositive/vector_bround.q b/ql/src/test/queries/clientpositive/vector_bround.q index 380d51c..bfc984b 100644 --- a/ql/src/test/queries/clientpositive/vector_bround.q +++ b/ql/src/test/queries/clientpositive/vector_bround.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table test_vector_bround(v0 double, v1 double) stored as orc; insert into table test_vector_bround values diff --git a/ql/src/test/queries/clientpositive/vector_bucket.q b/ql/src/test/queries/clientpositive/vector_bucket.q index 9360ce0..8ca9d6f 100644 --- a/ql/src/test/queries/clientpositive/vector_bucket.q +++ b/ql/src/test/queries/clientpositive/vector_bucket.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.support.concurrency=true; diff --git a/ql/src/test/queries/clientpositive/vector_cast_constant.q b/ql/src/test/queries/clientpositive/vector_cast_constant.q index 5b762c7..dbd4fe8 100644 --- a/ql/src/test/queries/clientpositive/vector_cast_constant.q +++ b/ql/src/test/queries/clientpositive/vector_cast_constant.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_char_2.q b/ql/src/test/queries/clientpositive/vector_char_2.q index efa3154..ea5029f 100644 --- a/ql/src/test/queries/clientpositive/vector_char_2.q +++ b/ql/src/test/queries/clientpositive/vector_char_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; drop table char_2; @@ -7,10 +41,10 @@ create table char_2 ( value char(20) ) stored as orc; -insert overwrite table char_2 select * from src; +insert overwrite table char_2 select * from `s/c`; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value asc limit 5; @@ -21,7 +55,7 @@ group by value order by value asc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from char_2 group by value @@ -29,7 +63,7 @@ order by value asc limit 5; select value, sum(cast(key as int)), count(*) numrows -from src +from `s/c` group by value order by value desc limit 5; @@ -40,7 +74,7 @@ group by value order by value desc limit 5; --- should match the query from src +-- should match the query from `s/c` select value, sum(cast(key as int)), count(*) numrows from char_2 group by value diff --git a/ql/src/test/queries/clientpositive/vector_char_4.q b/ql/src/test/queries/clientpositive/vector_char_4.q index 06f1d2b..40893fc 100644 --- a/ql/src/test/queries/clientpositive/vector_char_4.q +++ b/ql/src/test/queries/clientpositive/vector_char_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_char_mapjoin1.q b/ql/src/test/queries/clientpositive/vector_char_mapjoin1.q index a31e7b9..66a91bd 100644 --- a/ql/src/test/queries/clientpositive/vector_char_mapjoin1.q +++ b/ql/src/test/queries/clientpositive/vector_char_mapjoin1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_char_simple.q b/ql/src/test/queries/clientpositive/vector_char_simple.q index a921140..5b04b5e 100644 --- a/ql/src/test/queries/clientpositive/vector_char_simple.q +++ b/ql/src/test/queries/clientpositive/vector_char_simple.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; drop table char_2; @@ -7,10 +41,10 @@ create table char_2 ( value char(20) ) stored as orc; -insert overwrite table char_2 select * from src; +insert overwrite table char_2 select * from `s/c`; select key, value -from src +from `s/c` order by key asc limit 5; @@ -19,14 +53,14 @@ from char_2 order by key asc limit 5; --- should match the query from src +-- should match the query from `s/c` select key, value from char_2 order by key asc limit 5; select key, value -from src +from `s/c` order by key desc limit 5; @@ -35,7 +69,7 @@ from char_2 order by key desc limit 5; --- should match the query from src +-- should match the query from `s/c` select key, value from char_2 order by key desc diff --git a/ql/src/test/queries/clientpositive/vector_coalesce.q b/ql/src/test/queries/clientpositive/vector_coalesce.q index c9b8e5a..96bf147 100644 --- a/ql/src/test/queries/clientpositive/vector_coalesce.q +++ b/ql/src/test/queries/clientpositive/vector_coalesce.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_coalesce_2.q b/ql/src/test/queries/clientpositive/vector_coalesce_2.q index 1dee7d4..b38cc1b 100644 --- a/ql/src/test/queries/clientpositive/vector_coalesce_2.q +++ b/ql/src/test/queries/clientpositive/vector_coalesce_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=false; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_count_distinct.q b/ql/src/test/queries/clientpositive/vector_count_distinct.q index 985c32e..0fb3f57 100644 --- a/ql/src/test/queries/clientpositive/vector_count_distinct.q +++ b/ql/src/test/queries/clientpositive/vector_count_distinct.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_data_types.q b/ql/src/test/queries/clientpositive/vector_data_types.q index 06a650c..7f78778 100644 --- a/ql/src/test/queries/clientpositive/vector_data_types.q +++ b/ql/src/test/queries/clientpositive/vector_data_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; DROP TABLE over1k; diff --git a/ql/src/test/queries/clientpositive/vector_date_1.q b/ql/src/test/queries/clientpositive/vector_date_1.q index 165f86a..ebd8548 100644 --- a/ql/src/test/queries/clientpositive/vector_date_1.q +++ b/ql/src/test/queries/clientpositive/vector_date_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.vectorized.execution.enabled=true; @@ -7,11 +41,11 @@ drop table if exists vector_date_1; create table vector_date_1 (dt1 date, dt2 date) stored as orc; insert into table vector_date_1 - select null, null from src limit 1; + select null, null from `s/c` limit 1; insert into table vector_date_1 - select date '1999-12-31', date '2000-01-01' from src limit 1; + select date '1999-12-31', date '2000-01-01' from `s/c` limit 1; insert into table vector_date_1 - select date '2001-01-01', date '2001-06-01' from src limit 1; + select date '2001-01-01', date '2001-06-01' from `s/c` limit 1; -- column-to-column comparison in select clause explain diff --git a/ql/src/test/queries/clientpositive/vector_decimal_1.q b/ql/src/test/queries/clientpositive/vector_decimal_1.q index f6578cd..a5c5e7b 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_1.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; @@ -9,7 +43,7 @@ create table decimal_1 (t decimal(4,2), u decimal(5), v decimal) stored as orc; desc decimal_1; insert overwrite table decimal_1 - select cast('17.29' as decimal(4,2)), 3.1415926BD, 3115926.54321BD from src tablesample (1 rows); + select cast('17.29' as decimal(4,2)), 3.1415926BD, 3115926.54321BD from `s/c` tablesample (1 rows); explain select cast(t as boolean) from decimal_1 order by t; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_10_0.q b/ql/src/test/queries/clientpositive/vector_decimal_10_0.q index 32898e6..9687153 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_10_0.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_10_0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_2.q b/ql/src/test/queries/clientpositive/vector_decimal_2.q index 79d602a..1f448a8 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_2.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; @@ -7,7 +41,7 @@ drop table decimal_2; create table decimal_2 (t decimal(18,9)) stored as orc; insert overwrite table decimal_2 - select cast('17.29' as decimal(4,2)) from src tablesample (1 rows); + select cast('17.29' as decimal(4,2)) from `s/c` tablesample (1 rows); explain select cast(t as boolean) from decimal_2 order by t; @@ -50,7 +84,7 @@ select cast(t as string) from decimal_2 order by t; select cast(t as string) from decimal_2 order by t; insert overwrite table decimal_2 - select cast('3404045.5044003' as decimal(18,9)) from src tablesample (1 rows); + select cast('3404045.5044003' as decimal(18,9)) from `s/c` tablesample (1 rows); explain select cast(t as boolean) from decimal_2 order by t; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_3.q b/ql/src/test/queries/clientpositive/vector_decimal_3.q index 77f3a7c..5146201 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_3.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_4.q b/ql/src/test/queries/clientpositive/vector_decimal_4.q index c0762fb..6cfbebd 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_4.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_5.q b/ql/src/test/queries/clientpositive/vector_decimal_5.q index 8d3da4d..c8817d5 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_5.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_6.q b/ql/src/test/queries/clientpositive/vector_decimal_6.q index 3352704..03e9b7a 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_6.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_aggregate.q b/ql/src/test/queries/clientpositive/vector_decimal_aggregate.q index 552a564..b344b2a 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_aggregate.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_aggregate.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE decimal_vgby STORED AS ORC AS SELECT cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(20,10)) AS cdecimal1, diff --git a/ql/src/test/queries/clientpositive/vector_decimal_cast.q b/ql/src/test/queries/clientpositive/vector_decimal_cast.q index eb0e75c..97563b1 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_cast.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_cast.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_expressions.q b/ql/src/test/queries/clientpositive/vector_decimal_expressions.q index 233a732..f4fc664 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_expressions.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_expressions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vector_decimal_mapjoin.q b/ql/src/test/queries/clientpositive/vector_decimal_mapjoin.q index 16c2ed0..cdacfdb 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.auto.convert.join=true; SET hive.auto.convert.join.noconditionaltask=true; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q b/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q index 74c7490..bb2b206 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_math_funcs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE decimal_test STORED AS ORC AS SELECT cbigint, cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(20,10)) AS cdecimal1, CAST (((cdouble*9.3)/13) AS DECIMAL(23,14)) AS cdecimal2 FROM alltypesorc; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_precision.q b/ql/src/test/queries/clientpositive/vector_decimal_precision.q index c7f449a..c13e253 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_precision.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_precision.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_round.q b/ql/src/test/queries/clientpositive/vector_decimal_round.q index 7ebc75b..267a9f7 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_round.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_round.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_round_2.q b/ql/src/test/queries/clientpositive/vector_decimal_round_2.q index 23be1fc..b4b4287 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_round_2.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_round_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_trailing.q b/ql/src/test/queries/clientpositive/vector_decimal_trailing.q index 4639fee..19c72ad 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_trailing.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_trailing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_udf.q b/ql/src/test/queries/clientpositive/vector_decimal_udf.q index a8ee2e8..527a6a1 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_udf.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_decimal_udf2.q b/ql/src/test/queries/clientpositive/vector_decimal_udf2.q index 0259626..1d978bb 100644 --- a/ql/src/test/queries/clientpositive/vector_decimal_udf2.q +++ b/ql/src/test/queries/clientpositive/vector_decimal_udf2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_distinct_2.q b/ql/src/test/queries/clientpositive/vector_distinct_2.q index 07945e3..222b712 100644 --- a/ql/src/test/queries/clientpositive/vector_distinct_2.q +++ b/ql/src/test/queries/clientpositive/vector_distinct_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_elt.q b/ql/src/test/queries/clientpositive/vector_elt.q index e11b35f..8ebae6a 100644 --- a/ql/src/test/queries/clientpositive/vector_elt.q +++ b/ql/src/test/queries/clientpositive/vector_elt.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_groupby_3.q b/ql/src/test/queries/clientpositive/vector_groupby_3.q index 014f9e1..e56cacf 100644 --- a/ql/src/test/queries/clientpositive/vector_groupby_3.q +++ b/ql/src/test/queries/clientpositive/vector_groupby_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_groupby_reduce.q b/ql/src/test/queries/clientpositive/vector_groupby_reduce.q index 1438c29..1675d23 100644 --- a/ql/src/test/queries/clientpositive/vector_groupby_reduce.q +++ b/ql/src/test/queries/clientpositive/vector_groupby_reduce.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_grouping_sets.q b/ql/src/test/queries/clientpositive/vector_grouping_sets.q index 09ba6b6..b1d875b 100644 --- a/ql/src/test/queries/clientpositive/vector_grouping_sets.q +++ b/ql/src/test/queries/clientpositive/vector_grouping_sets.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_if_expr.q b/ql/src/test/queries/clientpositive/vector_if_expr.q index 2e704b7..2a469da 100644 --- a/ql/src/test/queries/clientpositive/vector_if_expr.q +++ b/ql/src/test/queries/clientpositive/vector_if_expr.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_inner_join.q b/ql/src/test/queries/clientpositive/vector_inner_join.q index aa242a5..a79d59a 100644 --- a/ql/src/test/queries/clientpositive/vector_inner_join.q +++ b/ql/src/test/queries/clientpositive/vector_inner_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_interval_1.q b/ql/src/test/queries/clientpositive/vector_interval_1.q index ffa9e16..459ddae 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_1.q +++ b/ql/src/test/queries/clientpositive/vector_interval_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.vectorized.execution.enabled=true; @@ -7,9 +41,9 @@ drop table if exists vector_interval_1; create table vector_interval_1 (ts timestamp, dt date, str1 string, str2 string) stored as orc; insert into vector_interval_1 - select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1 2:3:4' from src limit 1; + select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1 2:3:4' from `s/c` limit 1; insert into vector_interval_1 - select null, null, null, null from src limit 1; + select null, null, null, null from `s/c` limit 1; -- constants/cast from string explain diff --git a/ql/src/test/queries/clientpositive/vector_interval_2.q b/ql/src/test/queries/clientpositive/vector_interval_2.q index d413f5a..e0d7e85 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_2.q +++ b/ql/src/test/queries/clientpositive/vector_interval_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; @@ -6,9 +40,9 @@ drop table if exists vector_interval_2; create table vector_interval_2 (ts timestamp, dt date, str1 string, str2 string, str3 string, str4 string) stored as orc; insert into vector_interval_2 - select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 2:3:4', '1 2:3:5' from src limit 1; + select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 2:3:4', '1 2:3:5' from `s/c` limit 1; insert into vector_interval_2 - select null, null, null, null, null, null from src limit 1; + select null, null, null, null, null, null from `s/c` limit 1; -- interval comparisons in select clause diff --git a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q index 671aa2c..ff44b35 100644 --- a/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vector_interval_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_join30.q b/ql/src/test/queries/clientpositive/vector_join30.q index 1467cd3..8b091eb 100644 --- a/ql/src/test/queries/clientpositive/vector_join30.q +++ b/ql/src/test/queries/clientpositive/vector_join30.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; @@ -8,7 +42,7 @@ SET hive.auto.convert.join.noconditionaltask.size=1000000000; -- SORT_QUERY_RESULTS -CREATE TABLE orcsrc STORED AS ORC AS SELECT * FROM src; +CREATE TABLE orcsrc STORED AS ORC AS SELECT * FROM `s/c`; explain FROM diff --git a/ql/src/test/queries/clientpositive/vector_join_filters.q b/ql/src/test/queries/clientpositive/vector_join_filters.q index adf525c..ecda65a 100644 --- a/ql/src/test/queries/clientpositive/vector_join_filters.q +++ b/ql/src/test/queries/clientpositive/vector_join_filters.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_join_nulls.q b/ql/src/test/queries/clientpositive/vector_join_nulls.q index 6cfb7a8..354b205 100644 --- a/ql/src/test/queries/clientpositive/vector_join_nulls.q +++ b/ql/src/test/queries/clientpositive/vector_join_nulls.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join.q b/ql/src/test/queries/clientpositive/vector_left_outer_join.q index 2fc5240..11dcdf7 100644 --- a/ql/src/test/queries/clientpositive/vector_left_outer_join.q +++ b/ql/src/test/queries/clientpositive/vector_left_outer_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.vectorized.execution.enabled=true; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q index 3ba67a2..16466ea 100644 --- a/ql/src/test/queries/clientpositive/vector_left_outer_join2.q +++ b/ql/src/test/queries/clientpositive/vector_left_outer_join2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.fetch.task.conversion=none; set hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q index 680d2c9..5a53ec8 100644 --- a/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vector_leftsemi_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.fetch.task.conversion=none; set hive.auto.convert.join=true; @@ -6,7 +40,7 @@ set hive.auto.convert.join.noconditionaltask.size=10000; -- SORT_QUERY_RESULTS -create table t1 stored as orc as select cast(key as int) key, value from src where key <= 10; +create table t1 stored as orc as select cast(key as int) key, value from `s/c` where key <= 10; select * from t1 sort by key; diff --git a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q index a83d95f..5701ee0 100644 --- a/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q +++ b/ql/src/test/queries/clientpositive/vector_mapjoin_reduce.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q index bb87344..2e79b60 100644 --- a/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q +++ b/ql/src/test/queries/clientpositive/vector_mr_diff_schema_alias.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_multi_insert.q b/ql/src/test/queries/clientpositive/vector_multi_insert.q index 8c92cda..e14dcb1 100644 --- a/ql/src/test/queries/clientpositive/vector_multi_insert.q +++ b/ql/src/test/queries/clientpositive/vector_multi_insert.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; @@ -9,11 +43,11 @@ create table orc1 select rn from ( - select * from (select cast(1 as int) as rn from src limit 1)a + select * from (select cast(1 as int) as rn from `s/c` limit 1)a union all - select * from (select cast(100 as int) as rn from src limit 1)b + select * from (select cast(100 as int) as rn from `s/c` limit 1)b union all - select * from (select cast(10000 as int) as rn from src limit 1)c + select * from (select cast(10000 as int) as rn from `s/c` limit 1)c ) t; create table orc_rn1 (rn int); diff --git a/ql/src/test/queries/clientpositive/vector_non_string_partition.q b/ql/src/test/queries/clientpositive/vector_non_string_partition.q index 7759796..b7221bb 100644 --- a/ql/src/test/queries/clientpositive/vector_non_string_partition.q +++ b/ql/src/test/queries/clientpositive/vector_non_string_partition.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; CREATE TABLE non_string_part(cint INT, cstring1 STRING, cdouble DOUBLE, ctimestamp1 TIMESTAMP) PARTITIONED BY (ctinyint tinyint) STORED AS ORC; diff --git a/ql/src/test/queries/clientpositive/vector_null_projection.q b/ql/src/test/queries/clientpositive/vector_null_projection.q index 66c0838..fcd3d50 100644 --- a/ql/src/test/queries/clientpositive/vector_null_projection.q +++ b/ql/src/test/queries/clientpositive/vector_null_projection.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q index b316a54..61d5de8 100644 --- a/ql/src/test/queries/clientpositive/vector_nullsafe_join.q +++ b/ql/src/test/queries/clientpositive/vector_nullsafe_join.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_orderby_5.q b/ql/src/test/queries/clientpositive/vector_orderby_5.q index 2014ef7..0cfe13e 100644 --- a/ql/src/test/queries/clientpositive/vector_orderby_5.q +++ b/ql/src/test/queries/clientpositive/vector_orderby_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join0.q b/ql/src/test/queries/clientpositive/vector_outer_join0.q index f8caa83..8498d92 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join0.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join1.q b/ql/src/test/queries/clientpositive/vector_outer_join1.q index 4a36452..d3702aa 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join1.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join2.q b/ql/src/test/queries/clientpositive/vector_outer_join2.q index d3b5805..e61f2bc 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join2.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join3.q b/ql/src/test/queries/clientpositive/vector_outer_join3.q index e5fc0a9..5073133 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join3.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join4.q b/ql/src/test/queries/clientpositive/vector_outer_join4.q index 45461b5..ea62439 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join4.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vector_outer_join5.q b/ql/src/test/queries/clientpositive/vector_outer_join5.q index 4b6b6d6..f1913ce 100644 --- a/ql/src/test/queries/clientpositive/vector_outer_join5.q +++ b/ql/src/test/queries/clientpositive/vector_outer_join5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.vectorized.execution.mapjoin.native.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_partition_diff_num_cols.q b/ql/src/test/queries/clientpositive/vector_partition_diff_num_cols.q index f2335e4..fadf205 100644 --- a/ql/src/test/queries/clientpositive/vector_partition_diff_num_cols.q +++ b/ql/src/test/queries/clientpositive/vector_partition_diff_num_cols.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_partitioned_date_time.q b/ql/src/test/queries/clientpositive/vector_partitioned_date_time.q index c04a523..854080d 100644 --- a/ql/src/test/queries/clientpositive/vector_partitioned_date_time.q +++ b/ql/src/test/queries/clientpositive/vector_partitioned_date_time.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vector_partitioned_date_time_win.q b/ql/src/test/queries/clientpositive/vector_partitioned_date_time_win.q index c157df1..0a9a2a9 100644 --- a/ql/src/test/queries/clientpositive/vector_partitioned_date_time_win.q +++ b/ql/src/test/queries/clientpositive/vector_partitioned_date_time_win.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.fetch.task.conversion=minimal; -- Windows-specific test due to space character being escaped in Hive paths on Windows. diff --git a/ql/src/test/queries/clientpositive/vector_reduce_groupby_decimal.q b/ql/src/test/queries/clientpositive/vector_reduce_groupby_decimal.q index 4a50150..04a199c 100644 --- a/ql/src/test/queries/clientpositive/vector_reduce_groupby_decimal.q +++ b/ql/src/test/queries/clientpositive/vector_reduce_groupby_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE decimal_test STORED AS ORC AS SELECT cint, cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(20,10)) AS cdecimal1, CAST (((cdouble*9.3)/13) AS DECIMAL(23,14)) AS cdecimal2 FROM alltypesorc WHERE cint is not null and cdouble is not null; diff --git a/ql/src/test/queries/clientpositive/vector_string_concat.q b/ql/src/test/queries/clientpositive/vector_string_concat.q index 06bd68e..17098d1 100644 --- a/ql/src/test/queries/clientpositive/vector_string_concat.q +++ b/ql/src/test/queries/clientpositive/vector_string_concat.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_varchar_4.q b/ql/src/test/queries/clientpositive/vector_varchar_4.q index 32a74a4..f64ae0c 100644 --- a/ql/src/test/queries/clientpositive/vector_varchar_4.q +++ b/ql/src/test/queries/clientpositive/vector_varchar_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vector_varchar_mapjoin1.q b/ql/src/test/queries/clientpositive/vector_varchar_mapjoin1.q index c5c9048..5014855 100644 --- a/ql/src/test/queries/clientpositive/vector_varchar_mapjoin1.q +++ b/ql/src/test/queries/clientpositive/vector_varchar_mapjoin1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=none; diff --git a/ql/src/test/queries/clientpositive/vector_varchar_simple.q b/ql/src/test/queries/clientpositive/vector_varchar_simple.q index acd6598..ddb0dec 100644 --- a/ql/src/test/queries/clientpositive/vector_varchar_simple.q +++ b/ql/src/test/queries/clientpositive/vector_varchar_simple.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; drop table varchar_2; @@ -7,10 +41,10 @@ create table varchar_2 ( value varchar(20) ) stored as orc; -insert overwrite table varchar_2 select * from src; +insert overwrite table varchar_2 select * from `s/c`; select key, value -from src +from `s/c` order by key asc limit 5; @@ -19,14 +53,14 @@ from varchar_2 order by key asc limit 5; --- should match the query from src +-- should match the query from `s/c` select key, value from varchar_2 order by key asc limit 5; select key, value -from src +from `s/c` order by key desc limit 5; @@ -35,7 +69,7 @@ from varchar_2 order by key desc limit 5; --- should match the query from src +-- should match the query from `s/c` select key, value from varchar_2 order by key desc diff --git a/ql/src/test/queries/clientpositive/vectorization_0.q b/ql/src/test/queries/clientpositive/vectorization_0.q index d786f74..fbee7fb 100644 --- a/ql/src/test/queries/clientpositive/vectorization_0.q +++ b/ql/src/test/queries/clientpositive/vectorization_0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_1.q b/ql/src/test/queries/clientpositive/vectorization_1.q index 8fdcb27..6ca1a88 100644 --- a/ql/src/test/queries/clientpositive/vectorization_1.q +++ b/ql/src/test/queries/clientpositive/vectorization_1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_10.q b/ql/src/test/queries/clientpositive/vectorization_10.q index 778250a..824c49d 100644 --- a/ql/src/test/queries/clientpositive/vectorization_10.q +++ b/ql/src/test/queries/clientpositive/vectorization_10.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_11.q b/ql/src/test/queries/clientpositive/vectorization_11.q index 4ac42ac..8670c0f 100644 --- a/ql/src/test/queries/clientpositive/vectorization_11.q +++ b/ql/src/test/queries/clientpositive/vectorization_11.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_12.q b/ql/src/test/queries/clientpositive/vectorization_12.q index a2737be..3e1128a 100644 --- a/ql/src/test/queries/clientpositive/vectorization_12.q +++ b/ql/src/test/queries/clientpositive/vectorization_12.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_13.q b/ql/src/test/queries/clientpositive/vectorization_13.q index 831530e..40a804c 100644 --- a/ql/src/test/queries/clientpositive/vectorization_13.q +++ b/ql/src/test/queries/clientpositive/vectorization_13.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vectorization_14.q b/ql/src/test/queries/clientpositive/vectorization_14.q index 2502fa8..561d98b 100644 --- a/ql/src/test/queries/clientpositive/vectorization_14.q +++ b/ql/src/test/queries/clientpositive/vectorization_14.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_15.q b/ql/src/test/queries/clientpositive/vectorization_15.q index 1c82475..a8dfe1f 100644 --- a/ql/src/test/queries/clientpositive/vectorization_15.q +++ b/ql/src/test/queries/clientpositive/vectorization_15.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_16.q b/ql/src/test/queries/clientpositive/vectorization_16.q index 84f1faa..a031991 100644 --- a/ql/src/test/queries/clientpositive/vectorization_16.q +++ b/ql/src/test/queries/clientpositive/vectorization_16.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_17.q b/ql/src/test/queries/clientpositive/vectorization_17.q index cb992aa..85ea390 100644 --- a/ql/src/test/queries/clientpositive/vectorization_17.q +++ b/ql/src/test/queries/clientpositive/vectorization_17.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_2.q b/ql/src/test/queries/clientpositive/vectorization_2.q index f232815..0d846a8 100644 --- a/ql/src/test/queries/clientpositive/vectorization_2.q +++ b/ql/src/test/queries/clientpositive/vectorization_2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_3.q b/ql/src/test/queries/clientpositive/vectorization_3.q index 5423b0b..4945989 100644 --- a/ql/src/test/queries/clientpositive/vectorization_3.q +++ b/ql/src/test/queries/clientpositive/vectorization_3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_4.q b/ql/src/test/queries/clientpositive/vectorization_4.q index 3151cf0..6dad4e4 100644 --- a/ql/src/test/queries/clientpositive/vectorization_4.q +++ b/ql/src/test/queries/clientpositive/vectorization_4.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_5.q b/ql/src/test/queries/clientpositive/vectorization_5.q index 773f4b3..50d1c6a 100644 --- a/ql/src/test/queries/clientpositive/vectorization_5.q +++ b/ql/src/test/queries/clientpositive/vectorization_5.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_6.q b/ql/src/test/queries/clientpositive/vectorization_6.q index 803f592..75a33ff 100644 --- a/ql/src/test/queries/clientpositive/vectorization_6.q +++ b/ql/src/test/queries/clientpositive/vectorization_6.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorization_7.q b/ql/src/test/queries/clientpositive/vectorization_7.q index 15ddcfb..692b5c5 100644 --- a/ql/src/test/queries/clientpositive/vectorization_7.q +++ b/ql/src/test/queries/clientpositive/vectorization_7.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vectorization_8.q b/ql/src/test/queries/clientpositive/vectorization_8.q index 46715ae..6b251aa 100644 --- a/ql/src/test/queries/clientpositive/vectorization_8.q +++ b/ql/src/test/queries/clientpositive/vectorization_8.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; diff --git a/ql/src/test/queries/clientpositive/vectorization_9.q b/ql/src/test/queries/clientpositive/vectorization_9.q index 84f1faa..a031991 100644 --- a/ql/src/test/queries/clientpositive/vectorization_9.q +++ b/ql/src/test/queries/clientpositive/vectorization_9.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_decimal_date.q b/ql/src/test/queries/clientpositive/vectorization_decimal_date.q index 854ee20..179b897 100644 --- a/ql/src/test/queries/clientpositive/vectorization_decimal_date.q +++ b/ql/src/test/queries/clientpositive/vectorization_decimal_date.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; CREATE TABLE date_decimal_test STORED AS ORC AS SELECT cint, cdouble, CAST (CAST (cint AS TIMESTAMP) AS DATE) AS cdate, CAST (((cdouble*22.1)/37) AS DECIMAL(20,10)) AS cdecimal FROM alltypesorc; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_div0.q b/ql/src/test/queries/clientpositive/vectorization_div0.q index 78f91f4..6e6c30b 100644 --- a/ql/src/test/queries/clientpositive/vectorization_div0.q +++ b/ql/src/test/queries/clientpositive/vectorization_div0.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled = true; diff --git a/ql/src/test/queries/clientpositive/vectorization_limit.q b/ql/src/test/queries/clientpositive/vectorization_limit.q index 8799087..326f21d 100644 --- a/ql/src/test/queries/clientpositive/vectorization_limit.q +++ b/ql/src/test/queries/clientpositive/vectorization_limit.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; explain SELECT cbigint, cdouble FROM alltypesorc WHERE cbigint < cdouble and cint > 0 limit 7; diff --git a/ql/src/test/queries/clientpositive/vectorization_nested_udf.q b/ql/src/test/queries/clientpositive/vectorization_nested_udf.q index bb50f9b..2c5f241 100644 --- a/ql/src/test/queries/clientpositive/vectorization_nested_udf.q +++ b/ql/src/test/queries/clientpositive/vectorization_nested_udf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; SELECT SUM(abs(ctinyint)) from alltypesorc; diff --git a/ql/src/test/queries/clientpositive/vectorization_not.q b/ql/src/test/queries/clientpositive/vectorization_not.q index bfd3dd7..f37bcd0 100644 --- a/ql/src/test/queries/clientpositive/vectorization_not.q +++ b/ql/src/test/queries/clientpositive/vectorization_not.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; SELECT AVG(cbigint), (-(AVG(cbigint))), diff --git a/ql/src/test/queries/clientpositive/vectorization_part.q b/ql/src/test/queries/clientpositive/vectorization_part.q index 0e34585..6d0ac11 100644 --- a/ql/src/test/queries/clientpositive/vectorization_part.q +++ b/ql/src/test/queries/clientpositive/vectorization_part.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; CREATE TABLE alltypesorc_part(ctinyint tinyint, csmallint smallint, cint int, cbigint bigint, cfloat float, cdouble double, cstring1 string, cstring2 string, ctimestamp1 timestamp, ctimestamp2 timestamp, cboolean1 boolean, cboolean2 boolean) partitioned by (ds string) STORED AS ORC; insert overwrite table alltypesorc_part partition (ds='2011') select * from alltypesorc limit 100; diff --git a/ql/src/test/queries/clientpositive/vectorization_part_project.q b/ql/src/test/queries/clientpositive/vectorization_part_project.q index a6abb86..7fc47d1 100644 --- a/ql/src/test/queries/clientpositive/vectorization_part_project.q +++ b/ql/src/test/queries/clientpositive/vectorization_part_project.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; CREATE TABLE alltypesorc_part(ctinyint tinyint, csmallint smallint, cint int, cbigint bigint, cfloat float, cdouble double, cstring1 string, cstring2 string, ctimestamp1 timestamp, ctimestamp2 timestamp, cboolean1 boolean, cboolean2 boolean) partitioned by (ds string) STORED AS ORC; diff --git a/ql/src/test/queries/clientpositive/vectorization_part_varchar.q b/ql/src/test/queries/clientpositive/vectorization_part_varchar.q index e78f9f5..73f9c03 100644 --- a/ql/src/test/queries/clientpositive/vectorization_part_varchar.q +++ b/ql/src/test/queries/clientpositive/vectorization_part_varchar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; CREATE TABLE alltypesorc_part_varchar(ctinyint tinyint, csmallint smallint, cint int, cbigint bigint, cfloat float, cdouble double, cstring1 string, cstring2 string, ctimestamp1 timestamp, ctimestamp2 timestamp, cboolean1 boolean, cboolean2 boolean) partitioned by (ds varchar(4)) STORED AS ORC; insert overwrite table alltypesorc_part_varchar partition (ds='2011') select * from alltypesorc limit 100; diff --git a/ql/src/test/queries/clientpositive/vectorization_pushdown.q b/ql/src/test/queries/clientpositive/vectorization_pushdown.q index c54c529..f2741a7 100644 --- a/ql/src/test/queries/clientpositive/vectorization_pushdown.q +++ b/ql/src/test/queries/clientpositive/vectorization_pushdown.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.optimize.index.filter=true; diff --git a/ql/src/test/queries/clientpositive/vectorization_short_regress.q b/ql/src/test/queries/clientpositive/vectorization_short_regress.q index 29cdf19..9b0de87 100644 --- a/ql/src/test/queries/clientpositive/vectorization_short_regress.q +++ b/ql/src/test/queries/clientpositive/vectorization_short_regress.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; set hive.fetch.task.conversion=minimal; -- SORT_QUERY_RESULTS --- If you look at ql/src/test/org/apache/hadoop/hive/ql/exec/vector/util/OrcFileGenerator.java +-- If you look at ql/`s/c`/test/org/apache/hadoop/hive/ql/exec/vector/util/OrcFileGenerator.java -- which is the data generation class you'll see that those values are specified in the -- initializeFixedPointValues for each data type. When I created the queries I usedthose values -- where I needed scalar values to ensure that when the queries executed their predicates would be diff --git a/ql/src/test/queries/clientpositive/vectorized_bucketmapjoin1.q b/ql/src/test/queries/clientpositive/vectorized_bucketmapjoin1.q index 022ce2e..8a98fc8 100644 --- a/ql/src/test/queries/clientpositive/vectorized_bucketmapjoin1.q +++ b/ql/src/test/queries/clientpositive/vectorized_bucketmapjoin1.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; create table vsmb_bucket_1(key int, value string) CLUSTERED BY (key) diff --git a/ql/src/test/queries/clientpositive/vectorized_case.q b/ql/src/test/queries/clientpositive/vectorized_case.q index 8799fbb..3d26679 100644 --- a/ql/src/test/queries/clientpositive/vectorized_case.q +++ b/ql/src/test/queries/clientpositive/vectorized_case.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.vectorized.execution.enabled = true ; diff --git a/ql/src/test/queries/clientpositive/vectorized_casts.q b/ql/src/test/queries/clientpositive/vectorized_casts.q index 8e0bdbc..884e250 100644 --- a/ql/src/test/queries/clientpositive/vectorized_casts.q +++ b/ql/src/test/queries/clientpositive/vectorized_casts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.fetch.task.conversion=none; SET hive.vectorized.execution.enabled = true; diff --git a/ql/src/test/queries/clientpositive/vectorized_context.q b/ql/src/test/queries/clientpositive/vectorized_context.q index aeb1f2e..f846eca 100644 --- a/ql/src/test/queries/clientpositive/vectorized_context.q +++ b/ql/src/test/queries/clientpositive/vectorized_context.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; create table store(s_store_sk int, s_city string) stored as orc; diff --git a/ql/src/test/queries/clientpositive/vectorized_date_funcs.q b/ql/src/test/queries/clientpositive/vectorized_date_funcs.q index f55ad03..f82ecc8 100644 --- a/ql/src/test/queries/clientpositive/vectorized_date_funcs.q +++ b/ql/src/test/queries/clientpositive/vectorized_date_funcs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled = true; diff --git a/ql/src/test/queries/clientpositive/vectorized_distinct_gby.q b/ql/src/test/queries/clientpositive/vectorized_distinct_gby.q index bad6baa..f0e8325 100644 --- a/ql/src/test/queries/clientpositive/vectorized_distinct_gby.q +++ b/ql/src/test/queries/clientpositive/vectorized_distinct_gby.q @@ -1,10 +1,44 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.map.groupby.sorted=true; create table dtest(a int, b int) clustered by (a) sorted by (a) into 1 buckets stored as orc; -insert into table dtest select c,b from (select array(300,300,300,300,300) as a, 1 as b from src order by a limit 1) y lateral view explode(a) t1 as c; +insert into table dtest select c,b from (select array(300,300,300,300,300) as a, 1 as b from `s/c` order by a limit 1) y lateral view explode(a) t1 as c; explain select sum(distinct a), count(distinct a) from dtest; select sum(distinct a), count(distinct a) from dtest; diff --git a/ql/src/test/queries/clientpositive/vectorized_dynamic_partition_pruning.q b/ql/src/test/queries/clientpositive/vectorized_dynamic_partition_pruning.q index 69cdca9..61afb16 100644 --- a/ql/src/test/queries/clientpositive/vectorized_dynamic_partition_pruning.q +++ b/ql/src/test/queries/clientpositive/vectorized_dynamic_partition_pruning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.optimize.ppd=true; set hive.ppd.remove.duplicatefilters=true; @@ -7,170 +41,170 @@ set hive.optimize.index.filter=true; set hive.vectorized.execution.enabled=true; -select distinct ds from srcpart; -select distinct hr from srcpart; +select distinct ds from `s/cpart`; +select distinct hr from `s/cpart`; -EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_date stored as orc as select ds as ds, ds as `date` from srcpart group by ds; -create table srcpart_hour stored as orc as select hr as hr, hr as hour from srcpart group by hr; -create table srcpart_date_hour stored as orc as select ds as ds, ds as `date`, hr as hr, hr as hour from srcpart group by ds, hr; -create table srcpart_double_hour stored as orc as select (hr*2) as hr, hr as hour from srcpart group by hr; +EXPLAIN create table srcpart_date as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_date stored as orc as select ds as ds, ds as `date` from `s/cpart` group by ds; +create table srcpart_hour stored as orc as select hr as hr, hr as hour from `s/cpart` group by hr; +create table srcpart_date_hour stored as orc as select ds as ds, ds as `date`, hr as hr, hr as hour from `s/cpart` group by ds, hr; +create table srcpart_double_hour stored as orc as select (hr*2) as hr, hr as hour from `s/cpart` group by hr; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where ds = 'I DONT EXIST'; +select count(*) from `s/cpart` where ds = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=false; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (cast(srcpart.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (cast(`s/cpart`.hr*2 as string) = cast(srcpart_double_hour.hr as string)) where srcpart_double_hour.hour = 11; set hive.tez.dynamic.partition.pruning=true; -select count(*) from srcpart where cast(hr as string) = 11; +select count(*) from `s/cpart` where cast(hr as string) = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- non-equi join -EXPLAIN select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); -select count(*) from srcpart, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (srcpart.ds = srcpart_date_hour.ds or srcpart.hr = srcpart_date_hour.hr); +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); +select count(*) from `s/cpart`, srcpart_date_hour where (srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11) and (`s/cpart`.ds = srcpart_date_hour.ds or `s/cpart`.hr = srcpart_date_hour.hr); -- old style join syntax -EXPLAIN select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; -select count(*) from srcpart, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr; +EXPLAIN select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; +select count(*) from `s/cpart`, srcpart_date_hour where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11 and `s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select count(*) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -EXPLAIN select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select ds from (select distinct(ds) as ds from srcpart union all select distinct(ds) as ds from srcpart) s where s.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select count(*) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +EXPLAIN select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select ds from (select distinct(ds) as ds from `s/cpart` union all select distinct(ds) as ds from `s/cpart`) s where s.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); set hive.auto.convert.join=true; set hive.auto.convert.join.noconditionaltask = true; set hive.auto.convert.join.noconditionaltask.size = 10000000; -- single column, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- multiple sources, single key -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11; -select count(*) from srcpart where hr = 11 and ds = '2008-04-08'; +select count(*) from `s/cpart` where hr = 11 and ds = '2008-04-08'; -- multiple columns single source -EXPLAIN select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart join srcpart_date_hour on (srcpart.ds = srcpart_date_hour.ds and srcpart.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; -select count(*) from srcpart where ds = '2008-04-08' and hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_date_hour on (`s/cpart`.ds = srcpart_date_hour.ds and `s/cpart`.hr = srcpart_date_hour.hr) where srcpart_date_hour.`date` = '2008-04-08' and srcpart_date_hour.hour = 11; +select count(*) from `s/cpart` where ds = '2008-04-08' and hr = 11; -- empty set -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = 'I DONT EXIST'; -- expressions -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; -EXPLAIN select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart join srcpart_double_hour on (srcpart.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; -select count(*) from srcpart where hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr = cast(srcpart_double_hour.hr/2 as int)) where srcpart_double_hour.hour = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` join srcpart_double_hour on (`s/cpart`.hr*2 = srcpart_double_hour.hr) where srcpart_double_hour.hour = 11; +select count(*) from `s/cpart` where hr = 11; -- parent is reduce tasks -EXPLAIN select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart join (select ds as ds, ds as `date` from srcpart group by ds) s on (srcpart.ds = s.ds) where s.`date` = '2008-04-08'; -select count(*) from srcpart where ds = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` join (select ds as ds, ds as `date` from `s/cpart` group by ds) s on (`s/cpart`.ds = s.ds) where s.`date` = '2008-04-08'; +select count(*) from `s/cpart` where ds = '2008-04-08'; -- left join -EXPLAIN select count(*) from srcpart left join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -EXPLAIN select count(*) from srcpart_date left join srcpart on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` left join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from srcpart_date left join `s/cpart` on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- full outer -EXPLAIN select count(*) from srcpart full outer join srcpart_date on (srcpart.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; +EXPLAIN select count(*) from `s/cpart` full outer join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) where srcpart_date.`date` = '2008-04-08'; -- with static pruning -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and srcpart.hr = 11; -EXPLAIN select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) -where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and srcpart_hour.hour = 11 and `s/cpart`.hr = 11; +EXPLAIN select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- Disabled until TEZ-1486 is fixed --- select count(*) from srcpart join srcpart_date on (srcpart.ds = srcpart_date.ds) join srcpart_hour on (srcpart.hr = srcpart_hour.hr) --- where srcpart_date.`date` = '2008-04-08' and srcpart.hr = 13; +-- select count(*) from `s/cpart` join srcpart_date on (`s/cpart`.ds = srcpart_date.ds) join srcpart_hour on (`s/cpart`.hr = srcpart_hour.hr) +-- where srcpart_date.`date` = '2008-04-08' and `s/cpart`.hr = 13; -- union + subquery -EXPLAIN select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); -select distinct(ds) from srcpart where srcpart.ds in (select max(srcpart.ds) from srcpart union all select min(srcpart.ds) from srcpart); +EXPLAIN select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); +select distinct(ds) from `s/cpart` where `s/cpart`.ds in (select max(`s/cpart`.ds) from `s/cpart` union all select min(`s/cpart`.ds) from `s/cpart`); -- different file format @@ -181,10 +215,10 @@ set hive.exec.dynamic.partition.mode=nonstrict; set hive.vectorized.execution.enabled=false; set hive.exec.max.dynamic.partitions=1000; -insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from srcpart; +insert into table srcpart_orc partition (ds, hr) select key, value, ds, hr from `s/cpart`; EXPLAIN select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); select count(*) from srcpart_orc join srcpart_date_hour on (srcpart_orc.ds = srcpart_date_hour.ds and srcpart_orc.hr = srcpart_date_hour.hr) where srcpart_date_hour.hour = 11 and (srcpart_date_hour.`date` = '2008-04-08' or srcpart_date_hour.`date` = '2008-04-09'); -select count(*) from srcpart where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; +select count(*) from `s/cpart` where (ds = '2008-04-08' or ds = '2008-04-09') and hr = 11; drop table srcpart_orc; drop table srcpart_date; diff --git a/ql/src/test/queries/clientpositive/vectorized_mapjoin.q b/ql/src/test/queries/clientpositive/vectorized_mapjoin.q index 11004a8..37a1e4b 100644 --- a/ql/src/test/queries/clientpositive/vectorized_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vectorized_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vectorized_math_funcs.q b/ql/src/test/queries/clientpositive/vectorized_math_funcs.q index d79fcce..e8d9c50 100644 --- a/ql/src/test/queries/clientpositive/vectorized_math_funcs.q +++ b/ql/src/test/queries/clientpositive/vectorized_math_funcs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled = true; diff --git a/ql/src/test/queries/clientpositive/vectorized_nested_mapjoin.q b/ql/src/test/queries/clientpositive/vectorized_nested_mapjoin.q index 849af18..7adb5b9 100644 --- a/ql/src/test/queries/clientpositive/vectorized_nested_mapjoin.q +++ b/ql/src/test/queries/clientpositive/vectorized_nested_mapjoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=true; diff --git a/ql/src/test/queries/clientpositive/vectorized_parquet.q b/ql/src/test/queries/clientpositive/vectorized_parquet.q index a49ca63..7a0c128 100644 --- a/ql/src/test/queries/clientpositive/vectorized_parquet.q +++ b/ql/src/test/queries/clientpositive/vectorized_parquet.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; set hive.exec.submitviachild=true; set hive.exec.submit.local.task.via.child=true; diff --git a/ql/src/test/queries/clientpositive/vectorized_parquet_types.q b/ql/src/test/queries/clientpositive/vectorized_parquet_types.q index 0aaa432..c3ee897 100644 --- a/ql/src/test/queries/clientpositive/vectorized_parquet_types.q +++ b/ql/src/test/queries/clientpositive/vectorized_parquet_types.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; DROP TABLE parquet_types_staging; diff --git a/ql/src/test/queries/clientpositive/vectorized_ptf.q b/ql/src/test/queries/clientpositive/vectorized_ptf.q index 64082e9..2af77c5 100644 --- a/ql/src/test/queries/clientpositive/vectorized_ptf.q +++ b/ql/src/test/queries/clientpositive/vectorized_ptf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled=true; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/vectorized_rcfile_columnar.q b/ql/src/test/queries/clientpositive/vectorized_rcfile_columnar.q index dc124b1..8bf5bb9 100644 --- a/ql/src/test/queries/clientpositive/vectorized_rcfile_columnar.q +++ b/ql/src/test/queries/clientpositive/vectorized_rcfile_columnar.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + --This query must pass even when vectorized reader is not available for --RC files. The query must fall back to the non-vector mode and run successfully. @@ -8,8 +42,8 @@ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.RCFileOutputFormat'; -FROM src -INSERT OVERWRITE TABLE columnTable SELECT src.key, src.value ORDER BY src.key, src.value LIMIT 10; +FROM `s/c` +INSERT OVERWRITE TABLE columnTable SELECT `s/c`.key, `s/c`.value ORDER BY `s/c`.key, `s/c`.value LIMIT 10; describe columnTable; SET hive.vectorized.execution.enabled=true; diff --git a/ql/src/test/queries/clientpositive/vectorized_shufflejoin.q b/ql/src/test/queries/clientpositive/vectorized_shufflejoin.q index 92aae2c..85483e3 100644 --- a/ql/src/test/queries/clientpositive/vectorized_shufflejoin.q +++ b/ql/src/test/queries/clientpositive/vectorized_shufflejoin.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled=true; SET hive.auto.convert.join=false; diff --git a/ql/src/test/queries/clientpositive/vectorized_string_funcs.q b/ql/src/test/queries/clientpositive/vectorized_string_funcs.q index d04a3c3..283ffdf 100644 --- a/ql/src/test/queries/clientpositive/vectorized_string_funcs.q +++ b/ql/src/test/queries/clientpositive/vectorized_string_funcs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; SET hive.vectorized.execution.enabled = true; diff --git a/ql/src/test/queries/clientpositive/vectorized_timestamp_funcs.q b/ql/src/test/queries/clientpositive/vectorized_timestamp_funcs.q index 119c1c7..300ae18 100644 --- a/ql/src/test/queries/clientpositive/vectorized_timestamp_funcs.q +++ b/ql/src/test/queries/clientpositive/vectorized_timestamp_funcs.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.explain.user=false; -- Test timestamp functions in vectorized mode to verify they run correctly end-to-end. -- Turning on vectorization has been temporarily moved after filling the test table diff --git a/ql/src/test/queries/clientpositive/vectorized_timestamp_ints_casts.q b/ql/src/test/queries/clientpositive/vectorized_timestamp_ints_casts.q index f297070..fe600e0 100644 --- a/ql/src/test/queries/clientpositive/vectorized_timestamp_ints_casts.q +++ b/ql/src/test/queries/clientpositive/vectorized_timestamp_ints_casts.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + SET hive.vectorized.execution.enabled = true; SET hive.int.timestamp.conversion.in.seconds=false; diff --git a/ql/src/test/queries/clientpositive/view.q b/ql/src/test/queries/clientpositive/view.q index bc19355..7115b32 100644 --- a/ql/src/test/queries/clientpositive/view.q +++ b/ql/src/test/queries/clientpositive/view.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + CREATE DATABASE db1; USE db1; diff --git a/ql/src/test/queries/clientpositive/view_cast.q b/ql/src/test/queries/clientpositive/view_cast.q index 95517c3..26c316c 100644 --- a/ql/src/test/queries/clientpositive/view_cast.q +++ b/ql/src/test/queries/clientpositive/view_cast.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + DROP TABLE IF EXISTS atab; CREATE TABLE IF NOT EXISTS atab (ks_uid BIGINT, sr_uid STRING, sr_id STRING, tstamp STRING, m_id STRING, act STRING, at_sr_uid STRING, tstamp_type STRING, original_m_id STRING, original_tstamp STRING, registered_flag TINYINT, at_ks_uid BIGINT) PARTITIONED BY (dt STRING,nt STRING); LOAD DATA LOCAL INPATH '../../data/files/v1.txt' INTO TABLE atab PARTITION (dt='20130312', nt='tw'); diff --git a/ql/src/test/queries/clientpositive/view_inputs.q b/ql/src/test/queries/clientpositive/view_inputs.q index 7acc321..0bf4d2f 100644 --- a/ql/src/test/queries/clientpositive/view_inputs.q +++ b/ql/src/test/queries/clientpositive/view_inputs.q @@ -1,6 +1,40 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Tests that selecting from a view and another view that selects from that same view -CREATE VIEW test_view1 AS SELECT * FROM src; +CREATE VIEW test_view1 AS SELECT * FROM `s/c`; CREATE VIEW test_view2 AS SELECT * FROM test_view1; diff --git a/ql/src/test/queries/clientpositive/virtual_column.q b/ql/src/test/queries/clientpositive/virtual_column.q index e74a608..27b3b2a 100644 --- a/ql/src/test/queries/clientpositive/virtual_column.q +++ b/ql/src/test/queries/clientpositive/virtual_column.q @@ -1,16 +1,50 @@ -select INPUT__FILE__NAME, key, BLOCK__OFFSET__INSIDE__FILE from src; +DROP TABLE IF EXISTS `s/c`; -select key, count(INPUT__FILE__NAME) from src group by key order by key; +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; -select INPUT__FILE__NAME, key, collect_set(BLOCK__OFFSET__INSIDE__FILE) from src group by INPUT__FILE__NAME, key order by key; +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; -select * from src where BLOCK__OFFSET__INSIDE__FILE > 12000 order by key; +ANALYZE TABLE `s/c` COMPUTE STATISTICS; -select * from src where BLOCK__OFFSET__INSIDE__FILE > 5800 order by key; +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + +select INPUT__FILE__NAME, key, BLOCK__OFFSET__INSIDE__FILE from `s/c`; + +select key, count(INPUT__FILE__NAME) from `s/c` group by key order by key; + +select INPUT__FILE__NAME, key, collect_set(BLOCK__OFFSET__INSIDE__FILE) from `s/c` group by INPUT__FILE__NAME, key order by key; + +select * from `s/c` where BLOCK__OFFSET__INSIDE__FILE > 12000 order by key; + +select * from `s/c` where BLOCK__OFFSET__INSIDE__FILE > 5800 order by key; CREATE TABLE src_index_test_rc (key int, value string) STORED AS RCFILE; set hive.io.rcfile.record.buffer.size = 1024; -INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM src; +INSERT OVERWRITE TABLE src_index_test_rc SELECT * FROM `s/c`; select INPUT__FILE__NAME, key, BLOCK__OFFSET__INSIDE__FILE from src_index_test_rc order by key; diff --git a/ql/src/test/queries/clientpositive/windowing.q b/ql/src/test/queries/clientpositive/windowing.q index 2378e06..fc47b30 100644 --- a/ql/src/test/queries/clientpositive/windowing.q +++ b/ql/src/test/queries/clientpositive/windowing.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set mapred.reduce.tasks=4; -- SORT_QUERY_RESULTS diff --git a/ql/src/test/queries/clientpositive/windowing_adjust_rowcontainer_sz.q b/ql/src/test/queries/clientpositive/windowing_adjust_rowcontainer_sz.q index 402fbad..fb82279 100644 --- a/ql/src/test/queries/clientpositive/windowing_adjust_rowcontainer_sz.q +++ b/ql/src/test/queries/clientpositive/windowing_adjust_rowcontainer_sz.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + set hive.join.cache.size=1; select p_mfgr, p_name, p_size, diff --git a/ql/src/test/queries/clientpositive/windowing_columnPruning.q b/ql/src/test/queries/clientpositive/windowing_columnPruning.q index fea674f..cd2d94d 100644 --- a/ql/src/test/queries/clientpositive/windowing_columnPruning.q +++ b/ql/src/test/queries/clientpositive/windowing_columnPruning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- 1. testQueryLevelPartitionColsNotInSelect select p_size, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 diff --git a/ql/src/test/queries/clientpositive/windowing_decimal.q b/ql/src/test/queries/clientpositive/windowing_decimal.q index f785bb5..6a371e3 100644 --- a/ql/src/test/queries/clientpositive/windowing_decimal.q +++ b/ql/src/test/queries/clientpositive/windowing_decimal.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + create table part_dec( p_partkey INT, p_name STRING, diff --git a/ql/src/test/queries/clientpositive/windowing_expressions.q b/ql/src/test/queries/clientpositive/windowing_expressions.q index 474649d..d25d137 100644 --- a/ql/src/test/queries/clientpositive/windowing_expressions.q +++ b/ql/src/test/queries/clientpositive/windowing_expressions.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_multipartitioning.q b/ql/src/test/queries/clientpositive/windowing_multipartitioning.q index 1c6e1aa..4ebc562 100644 --- a/ql/src/test/queries/clientpositive/windowing_multipartitioning.q +++ b/ql/src/test/queries/clientpositive/windowing_multipartitioning.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_navfn.q b/ql/src/test/queries/clientpositive/windowing_navfn.q index 78eb29b..df27b3c 100644 --- a/ql/src/test/queries/clientpositive/windowing_navfn.q +++ b/ql/src/test/queries/clientpositive/windowing_navfn.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( @@ -17,7 +51,7 @@ create table over10k( load data local inpath '../../data/files/over10k' into table over10k; -select row_number() over() from src where key = '238'; +select row_number() over() from `s/c` where key = '238'; select s, row_number() over (partition by d order by dec) from over10k limit 100; @@ -43,7 +77,7 @@ SELECT explode( 1, array(int(null),int(null),int(null), int(null), int(null)), 2, array(1,null,2, null, 3) ) - ) as (a,barr) FROM (select * from src limit 1) s + ) as (a,barr) FROM (select * from `s/c` limit 1) s ) s1 lateral view explode(barr) arr as b; select a, b, diff --git a/ql/src/test/queries/clientpositive/windowing_ntile.q b/ql/src/test/queries/clientpositive/windowing_ntile.q index 73e8192..2d19956 100644 --- a/ql/src/test/queries/clientpositive/windowing_ntile.q +++ b/ql/src/test/queries/clientpositive/windowing_ntile.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_rank.q b/ql/src/test/queries/clientpositive/windowing_rank.q index 4b95117..fe5495a 100644 --- a/ql/src/test/queries/clientpositive/windowing_rank.q +++ b/ql/src/test/queries/clientpositive/windowing_rank.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_streaming.q b/ql/src/test/queries/clientpositive/windowing_streaming.q index 294fe09..fec196b 100644 --- a/ql/src/test/queries/clientpositive/windowing_streaming.q +++ b/ql/src/test/queries/clientpositive/windowing_streaming.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_udaf.q b/ql/src/test/queries/clientpositive/windowing_udaf.q index 0173ab7..e003cbc 100644 --- a/ql/src/test/queries/clientpositive/windowing_udaf.q +++ b/ql/src/test/queries/clientpositive/windowing_udaf.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_udaf2.q b/ql/src/test/queries/clientpositive/windowing_udaf2.q index b813657..7dbf5ed 100644 --- a/ql/src/test/queries/clientpositive/windowing_udaf2.q +++ b/ql/src/test/queries/clientpositive/windowing_udaf2.q @@ -1,4 +1,38 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- user-added aggregates should be usable as windowing functions create temporary function mysum as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSum'; -select sum(key) over (), mysum(key) over () from src limit 1; +select sum(key) over (), mysum(key) over () from `s/c` limit 1; diff --git a/ql/src/test/queries/clientpositive/windowing_windowspec.q b/ql/src/test/queries/clientpositive/windowing_windowspec.q index 63f97b7..8cd0383 100644 --- a/ql/src/test/queries/clientpositive/windowing_windowspec.q +++ b/ql/src/test/queries/clientpositive/windowing_windowspec.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_windowspec2.q b/ql/src/test/queries/clientpositive/windowing_windowspec2.q index 3c5bc3d..b19252e 100644 --- a/ql/src/test/queries/clientpositive/windowing_windowspec2.q +++ b/ql/src/test/queries/clientpositive/windowing_windowspec2.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + drop table over10k; create table over10k( diff --git a/ql/src/test/queries/clientpositive/windowing_windowspec3.q b/ql/src/test/queries/clientpositive/windowing_windowspec3.q index aee0076..ba6dcdf 100644 --- a/ql/src/test/queries/clientpositive/windowing_windowspec3.q +++ b/ql/src/test/queries/clientpositive/windowing_windowspec3.q @@ -1,3 +1,37 @@ +DROP TABLE IF EXISTS `s/c`; + +CREATE TABLE `s/c` (key STRING COMMENT 'default', value STRING COMMENT 'default') STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" INTO TABLE `s/c`; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS; + +ANALYZE TABLE `s/c` COMPUTE STATISTICS FOR COLUMNS key,value; + + +DROP TABLE IF EXISTS `s/cpart`; + +CREATE TABLE `s/cpart` (key STRING COMMENT 'default', value STRING COMMENT 'default') +PARTITIONED BY (ds STRING, hr STRING) +STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-08", hr="12"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="11"); + +LOAD DATA LOCAL INPATH "../../data/files/kv1.txt" +OVERWRITE INTO TABLE `s/cpart` PARTITION (ds="2008-04-09", hr="12"); + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS; + +ANALYZE TABLE `s/cpart` PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS key,value; + + -- Test value based windowing spec drop table if exists emp;