This is an automated email from the ASF dual-hosted git repository. zhangbutao pushed a commit to branch branch-4.1 in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/branch-4.1 by this push: new 25462018492 HIVE-29069: Fix Query Failure while computing Range Partition Column stats on Numeric partition column types (#5932) (#5964) 25462018492 is described below commit 254620184923dd8ac4ebe2423a1721b9c59c068a Author: Butao Zhang <zhangbu...@apache.org> AuthorDate: Sat Jul 12 20:16:48 2025 +0800 HIVE-29069: Fix Query Failure while computing Range Partition Column stats on Numeric partition column types (#5932) (#5964) Co-authored-by: Indhumathi <in...@visa.com> --- .../test/resources/testconfiguration.properties | 1 + .../apache/hadoop/hive/ql/stats/StatsUtils.java | 25 +-- .../partition_default_name_change_numeric.q | 41 ++++ .../partition_default_name_change_numeric.q.out | 214 +++++++++++++++++++++ 4 files changed, 263 insertions(+), 18 deletions(-) diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties index fe6fbe9bdcd..4300ed89918 100644 --- a/itests/src/test/resources/testconfiguration.properties +++ b/itests/src/test/resources/testconfiguration.properties @@ -32,6 +32,7 @@ minitez.query.files=\ non_strict_numeric_to_timestamp_conversion.q,\ orc_merge12.q,\ orc_vectorization_ppd.q,\ + partition_default_name_change_numeric.q,\ tez_complextype_with_null.q,\ tez_tag.q,\ tez_union_udtf.q,\ diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java index 497e3962c35..f8ff14d6c4f 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java @@ -39,6 +39,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import org.apache.commons.lang3.math.NumberUtils; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.common.StatsSetupConst; @@ -596,8 +597,7 @@ public static ColStatistics getColStatsForPartCol(ColumnInfo ci,PartitionIterabl partCS.setCountDistint(numPartitions); partCS.setAvgColLen(StatsUtils.getAvgColLenOf(conf, ci.getObjectInspector(), partCS.getColumnType())); - partCS.setRange(getRangePartitionColumn(partList, ci.getInternalName(), - ci.getType().getTypeName(), conf.getVar(ConfVars.DEFAULT_PARTITION_NAME))); + partCS.setRange(getRangePartitionColumn(partList, ci.getInternalName(), ci.getType().getTypeName())); return partCS; } @@ -610,7 +610,7 @@ public static int getNDVPartitionColumn(PartitionIterable partitions, String par } private static Range getRangePartitionColumn(PartitionIterable partitions, String partColName, - String colType, String defaultPartName) { + String colType) { Range range = null; String partVal; String colTypeLowerCase = colType.toLowerCase(); @@ -622,7 +622,7 @@ private static Range getRangePartitionColumn(PartitionIterable partitions, Strin long max = Long.MIN_VALUE; for (Partition partition : partitions) { partVal = partition.getSpec().get(partColName); - if (!partVal.equals(defaultPartName)) { + if (NumberUtils.isCreatable(partVal)) { long value = Long.parseLong(partVal); min = Math.min(min, value); max = Math.max(max, value); @@ -630,30 +630,19 @@ private static Range getRangePartitionColumn(PartitionIterable partitions, Strin } range = new Range(min, max); } else if (colTypeLowerCase.equals(serdeConstants.FLOAT_TYPE_NAME) - || colTypeLowerCase.equals(serdeConstants.DOUBLE_TYPE_NAME)) { + || colTypeLowerCase.equals(serdeConstants.DOUBLE_TYPE_NAME) + || colTypeLowerCase.startsWith(serdeConstants.DECIMAL_TYPE_NAME)) { double min = Double.MAX_VALUE; double max = Double.MIN_VALUE; for (Partition partition : partitions) { partVal = partition.getSpec().get(partColName); - if (!partVal.equals(defaultPartName)) { + if (NumberUtils.isCreatable(partVal)) { double value = Double.parseDouble(partVal); min = Math.min(min, value); max = Math.max(max, value); } } range = new Range(min, max); - } else if (colTypeLowerCase.startsWith(serdeConstants.DECIMAL_TYPE_NAME)) { - double min = Double.MAX_VALUE; - double max = Double.MIN_VALUE; - for (Partition partition : partitions) { - partVal = partition.getSpec().get(partColName); - if (!partVal.equals(defaultPartName)) { - double value = new BigDecimal(partVal).doubleValue(); - min = Math.min(min, value); - max = Math.max(max, value); - } - } - range = new Range(min, max); } else { // Columns statistics for complex datatypes are not supported yet return null; diff --git a/ql/src/test/queries/clientpositive/partition_default_name_change_numeric.q b/ql/src/test/queries/clientpositive/partition_default_name_change_numeric.q new file mode 100644 index 00000000000..d7fc48f156f --- /dev/null +++ b/ql/src/test/queries/clientpositive/partition_default_name_change_numeric.q @@ -0,0 +1,41 @@ +set hive.auto.convert.join=true; + +DROP TABLE IF EXISTS sales_p_int; +CREATE EXTERNAL TABLE sales_p_int (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_int INT) STORED AS ORC; + +DROP TABLE IF EXISTS sales_p_bigint; +CREATE EXTERNAL TABLE sales_p_bigint (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_bigint BIGINT) STORED AS ORC; + +DROP TABLE IF EXISTS sales_p_double; +CREATE EXTERNAL TABLE sales_p_double (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_double DOUBLE) STORED AS ORC; + +DROP TABLE IF EXISTS sales_p_decimal; +CREATE EXTERNAL TABLE sales_p_decimal (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_decimal DECIMAL(10,2)) STORED AS ORC; + +DROP TABLE IF EXISTS date_dim_multi; +CREATE EXTERNAL TABLE date_dim_multi ( + d_date_sk_int INT, + d_date_sk_bigint BIGINT, + d_date_sk_double DOUBLE, + d_date_sk_decimal DECIMAL(10,2), + d_date DATE, + d_year INT +) STORED AS ORC; + +INSERT INTO sales_p_int PARTITION (ss_sold_date_sk_int) VALUES (1, 9.99, 24518), (2, 5.55, null); +INSERT INTO sales_p_bigint PARTITION (ss_sold_date_sk_bigint) VALUES (1, 9.99, 2451800001), (2, 5.55, null); +INSERT INTO sales_p_double PARTITION (ss_sold_date_sk_double) VALUES (1, 9.99, 24518.01), (2, 5.55, null); +INSERT INTO sales_p_decimal PARTITION (ss_sold_date_sk_decimal) VALUES (1, 9.99, 24518.01), (2, 5.55, null); + +INSERT INTO date_dim_multi VALUES + (24518, 2451800001, 24518.01, 24518.01, '2020-01-01', 2020), + (24519, 2451900002, 24519.02, 24519.02, '2020-01-02', 2020); + +-- modify hive default partition name post insertion +SET hive.exec.default.partition.name=abc; + +SELECT d_date FROM sales_p_int s, date_dim_multi d WHERE s.ss_sold_date_sk_int = d.d_date_sk_int and d.d_year = 2020 GROUP BY d_date; +SELECT d_date FROM sales_p_bigint s JOIN date_dim_multi d ON s.ss_sold_date_sk_bigint = d.d_date_sk_bigint WHERE d.d_year = 2020 GROUP BY d_date; +SELECT d_date FROM sales_p_double s JOIN date_dim_multi d ON s.ss_sold_date_sk_double = d.d_date_sk_double WHERE d.d_year = 2020 GROUP BY d_date; +set hive.vectorized.execution.enabled=false; +SELECT d_date FROM sales_p_decimal s JOIN date_dim_multi d ON s.ss_sold_date_sk_decimal = d.d_date_sk_decimal WHERE d.d_year = 2020 GROUP BY d_date; diff --git a/ql/src/test/results/clientpositive/tez/partition_default_name_change_numeric.q.out b/ql/src/test/results/clientpositive/tez/partition_default_name_change_numeric.q.out new file mode 100644 index 00000000000..49f2d83839f --- /dev/null +++ b/ql/src/test/results/clientpositive/tez/partition_default_name_change_numeric.q.out @@ -0,0 +1,214 @@ +PREHOOK: query: DROP TABLE IF EXISTS sales_p_int +PREHOOK: type: DROPTABLE +PREHOOK: Output: database:default +POSTHOOK: query: DROP TABLE IF EXISTS sales_p_int +POSTHOOK: type: DROPTABLE +POSTHOOK: Output: database:default +PREHOOK: query: CREATE EXTERNAL TABLE sales_p_int (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_int INT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@sales_p_int +POSTHOOK: query: CREATE EXTERNAL TABLE sales_p_int (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_int INT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sales_p_int +PREHOOK: query: DROP TABLE IF EXISTS sales_p_bigint +PREHOOK: type: DROPTABLE +PREHOOK: Output: database:default +POSTHOOK: query: DROP TABLE IF EXISTS sales_p_bigint +POSTHOOK: type: DROPTABLE +POSTHOOK: Output: database:default +PREHOOK: query: CREATE EXTERNAL TABLE sales_p_bigint (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_bigint BIGINT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@sales_p_bigint +POSTHOOK: query: CREATE EXTERNAL TABLE sales_p_bigint (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_bigint BIGINT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sales_p_bigint +PREHOOK: query: DROP TABLE IF EXISTS sales_p_double +PREHOOK: type: DROPTABLE +PREHOOK: Output: database:default +POSTHOOK: query: DROP TABLE IF EXISTS sales_p_double +POSTHOOK: type: DROPTABLE +POSTHOOK: Output: database:default +PREHOOK: query: CREATE EXTERNAL TABLE sales_p_double (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_double DOUBLE) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@sales_p_double +POSTHOOK: query: CREATE EXTERNAL TABLE sales_p_double (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_double DOUBLE) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sales_p_double +PREHOOK: query: DROP TABLE IF EXISTS sales_p_decimal +PREHOOK: type: DROPTABLE +PREHOOK: Output: database:default +POSTHOOK: query: DROP TABLE IF EXISTS sales_p_decimal +POSTHOOK: type: DROPTABLE +POSTHOOK: Output: database:default +PREHOOK: query: CREATE EXTERNAL TABLE sales_p_decimal (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_decimal DECIMAL(10,2)) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@sales_p_decimal +POSTHOOK: query: CREATE EXTERNAL TABLE sales_p_decimal (ss_quantity INT, ss_sales_price DECIMAL(7,2)) PARTITIONED BY (ss_sold_date_sk_decimal DECIMAL(10,2)) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sales_p_decimal +PREHOOK: query: DROP TABLE IF EXISTS date_dim_multi +PREHOOK: type: DROPTABLE +PREHOOK: Output: database:default +POSTHOOK: query: DROP TABLE IF EXISTS date_dim_multi +POSTHOOK: type: DROPTABLE +POSTHOOK: Output: database:default +PREHOOK: query: CREATE EXTERNAL TABLE date_dim_multi ( + d_date_sk_int INT, + d_date_sk_bigint BIGINT, + d_date_sk_double DOUBLE, + d_date_sk_decimal DECIMAL(10,2), + d_date DATE, + d_year INT +) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@date_dim_multi +POSTHOOK: query: CREATE EXTERNAL TABLE date_dim_multi ( + d_date_sk_int INT, + d_date_sk_bigint BIGINT, + d_date_sk_double DOUBLE, + d_date_sk_decimal DECIMAL(10,2), + d_date DATE, + d_year INT +) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@date_dim_multi +PREHOOK: query: INSERT INTO sales_p_int PARTITION (ss_sold_date_sk_int) VALUES (1, 9.99, 24518), (2, 5.55, null) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@sales_p_int +POSTHOOK: query: INSERT INTO sales_p_int PARTITION (ss_sold_date_sk_int) VALUES (1, 9.99, 24518), (2, 5.55, null) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@sales_p_int +POSTHOOK: Output: default@sales_p_int@ss_sold_date_sk_int=24518 +POSTHOOK: Output: default@sales_p_int@ss_sold_date_sk_int=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Lineage: sales_p_int PARTITION(ss_sold_date_sk_int=24518).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_int PARTITION(ss_sold_date_sk_int=24518).ss_sales_price SCRIPT [] +POSTHOOK: Lineage: sales_p_int PARTITION(ss_sold_date_sk_int=__HIVE_DEFAULT_PARTITION__).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_int PARTITION(ss_sold_date_sk_int=__HIVE_DEFAULT_PARTITION__).ss_sales_price SCRIPT [] +PREHOOK: query: INSERT INTO sales_p_bigint PARTITION (ss_sold_date_sk_bigint) VALUES (1, 9.99, 2451800001), (2, 5.55, null) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@sales_p_bigint +POSTHOOK: query: INSERT INTO sales_p_bigint PARTITION (ss_sold_date_sk_bigint) VALUES (1, 9.99, 2451800001), (2, 5.55, null) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@sales_p_bigint +POSTHOOK: Output: default@sales_p_bigint@ss_sold_date_sk_bigint=2451800001 +POSTHOOK: Output: default@sales_p_bigint@ss_sold_date_sk_bigint=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Lineage: sales_p_bigint PARTITION(ss_sold_date_sk_bigint=2451800001).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_bigint PARTITION(ss_sold_date_sk_bigint=2451800001).ss_sales_price SCRIPT [] +POSTHOOK: Lineage: sales_p_bigint PARTITION(ss_sold_date_sk_bigint=__HIVE_DEFAULT_PARTITION__).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_bigint PARTITION(ss_sold_date_sk_bigint=__HIVE_DEFAULT_PARTITION__).ss_sales_price SCRIPT [] +PREHOOK: query: INSERT INTO sales_p_double PARTITION (ss_sold_date_sk_double) VALUES (1, 9.99, 24518.01), (2, 5.55, null) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@sales_p_double +POSTHOOK: query: INSERT INTO sales_p_double PARTITION (ss_sold_date_sk_double) VALUES (1, 9.99, 24518.01), (2, 5.55, null) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@sales_p_double +POSTHOOK: Output: default@sales_p_double@ss_sold_date_sk_double=24518.01 +POSTHOOK: Output: default@sales_p_double@ss_sold_date_sk_double=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Lineage: sales_p_double PARTITION(ss_sold_date_sk_double=24518.01).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_double PARTITION(ss_sold_date_sk_double=24518.01).ss_sales_price SCRIPT [] +POSTHOOK: Lineage: sales_p_double PARTITION(ss_sold_date_sk_double=__HIVE_DEFAULT_PARTITION__).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_double PARTITION(ss_sold_date_sk_double=__HIVE_DEFAULT_PARTITION__).ss_sales_price SCRIPT [] +PREHOOK: query: INSERT INTO sales_p_decimal PARTITION (ss_sold_date_sk_decimal) VALUES (1, 9.99, 24518.01), (2, 5.55, null) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@sales_p_decimal +POSTHOOK: query: INSERT INTO sales_p_decimal PARTITION (ss_sold_date_sk_decimal) VALUES (1, 9.99, 24518.01), (2, 5.55, null) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@sales_p_decimal +POSTHOOK: Output: default@sales_p_decimal@ss_sold_date_sk_decimal=24518.01 +POSTHOOK: Output: default@sales_p_decimal@ss_sold_date_sk_decimal=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Lineage: sales_p_decimal PARTITION(ss_sold_date_sk_decimal=24518.01).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_decimal PARTITION(ss_sold_date_sk_decimal=24518.01).ss_sales_price SCRIPT [] +POSTHOOK: Lineage: sales_p_decimal PARTITION(ss_sold_date_sk_decimal=__HIVE_DEFAULT_PARTITION__).ss_quantity SCRIPT [] +POSTHOOK: Lineage: sales_p_decimal PARTITION(ss_sold_date_sk_decimal=__HIVE_DEFAULT_PARTITION__).ss_sales_price SCRIPT [] +PREHOOK: query: INSERT INTO date_dim_multi VALUES + (24518, 2451800001, 24518.01, 24518.01, '2020-01-01', 2020), + (24519, 2451900002, 24519.02, 24519.02, '2020-01-02', 2020) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: default@date_dim_multi +POSTHOOK: query: INSERT INTO date_dim_multi VALUES + (24518, 2451800001, 24518.01, 24518.01, '2020-01-01', 2020), + (24519, 2451900002, 24519.02, 24519.02, '2020-01-02', 2020) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: default@date_dim_multi +POSTHOOK: Lineage: date_dim_multi.d_date SCRIPT [] +POSTHOOK: Lineage: date_dim_multi.d_date_sk_bigint SCRIPT [] +POSTHOOK: Lineage: date_dim_multi.d_date_sk_decimal SCRIPT [] +POSTHOOK: Lineage: date_dim_multi.d_date_sk_double SCRIPT [] +POSTHOOK: Lineage: date_dim_multi.d_date_sk_int SCRIPT [] +POSTHOOK: Lineage: date_dim_multi.d_year SCRIPT [] +PREHOOK: query: SELECT d_date FROM sales_p_int s, date_dim_multi d WHERE s.ss_sold_date_sk_int = d.d_date_sk_int and d.d_year = 2020 GROUP BY d_date +PREHOOK: type: QUERY +PREHOOK: Input: default@date_dim_multi +PREHOOK: Input: default@sales_p_int +PREHOOK: Input: default@sales_p_int@ss_sold_date_sk_int=24518 +PREHOOK: Input: default@sales_p_int@ss_sold_date_sk_int=__HIVE_DEFAULT_PARTITION__ +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT d_date FROM sales_p_int s, date_dim_multi d WHERE s.ss_sold_date_sk_int = d.d_date_sk_int and d.d_year = 2020 GROUP BY d_date +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_dim_multi +POSTHOOK: Input: default@sales_p_int +POSTHOOK: Input: default@sales_p_int@ss_sold_date_sk_int=24518 +POSTHOOK: Input: default@sales_p_int@ss_sold_date_sk_int=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Output: hdfs://### HDFS PATH ### +2020-01-01 +PREHOOK: query: SELECT d_date FROM sales_p_bigint s JOIN date_dim_multi d ON s.ss_sold_date_sk_bigint = d.d_date_sk_bigint WHERE d.d_year = 2020 GROUP BY d_date +PREHOOK: type: QUERY +PREHOOK: Input: default@date_dim_multi +PREHOOK: Input: default@sales_p_bigint +PREHOOK: Input: default@sales_p_bigint@ss_sold_date_sk_bigint=2451800001 +PREHOOK: Input: default@sales_p_bigint@ss_sold_date_sk_bigint=__HIVE_DEFAULT_PARTITION__ +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT d_date FROM sales_p_bigint s JOIN date_dim_multi d ON s.ss_sold_date_sk_bigint = d.d_date_sk_bigint WHERE d.d_year = 2020 GROUP BY d_date +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_dim_multi +POSTHOOK: Input: default@sales_p_bigint +POSTHOOK: Input: default@sales_p_bigint@ss_sold_date_sk_bigint=2451800001 +POSTHOOK: Input: default@sales_p_bigint@ss_sold_date_sk_bigint=__HIVE_DEFAULT_PARTITION__ +POSTHOOK: Output: hdfs://### HDFS PATH ### +2020-01-01 +PREHOOK: query: SELECT d_date FROM sales_p_double s JOIN date_dim_multi d ON s.ss_sold_date_sk_double = d.d_date_sk_double WHERE d.d_year = 2020 GROUP BY d_date +PREHOOK: type: QUERY +PREHOOK: Input: default@date_dim_multi +PREHOOK: Input: default@sales_p_double +PREHOOK: Input: default@sales_p_double@ss_sold_date_sk_double=24518.01 +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT d_date FROM sales_p_double s JOIN date_dim_multi d ON s.ss_sold_date_sk_double = d.d_date_sk_double WHERE d.d_year = 2020 GROUP BY d_date +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_dim_multi +POSTHOOK: Input: default@sales_p_double +POSTHOOK: Input: default@sales_p_double@ss_sold_date_sk_double=24518.01 +POSTHOOK: Output: hdfs://### HDFS PATH ### +2020-01-01 +PREHOOK: query: SELECT d_date FROM sales_p_decimal s JOIN date_dim_multi d ON s.ss_sold_date_sk_decimal = d.d_date_sk_decimal WHERE d.d_year = 2020 GROUP BY d_date +PREHOOK: type: QUERY +PREHOOK: Input: default@date_dim_multi +PREHOOK: Input: default@sales_p_decimal +PREHOOK: Input: default@sales_p_decimal@ss_sold_date_sk_decimal=24518.01 +PREHOOK: Output: hdfs://### HDFS PATH ### +POSTHOOK: query: SELECT d_date FROM sales_p_decimal s JOIN date_dim_multi d ON s.ss_sold_date_sk_decimal = d.d_date_sk_decimal WHERE d.d_year = 2020 GROUP BY d_date +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_dim_multi +POSTHOOK: Input: default@sales_p_decimal +POSTHOOK: Input: default@sales_p_decimal@ss_sold_date_sk_decimal=24518.01 +POSTHOOK: Output: hdfs://### HDFS PATH ### +2020-01-01